From 8697f0f375d3fb7153651e30080753f92632f3be Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Thu, 25 Apr 2024 13:10:15 -0400 Subject: [PATCH 01/14] feat(Doc): update script generateComponentData - Move `slot` to Layout group - Move `excludeFromTabOrder` to a11y - Exclude `key` and `ref` --- apps/docs/datas/components/Button.json | 2 +- apps/docs/scripts/generateComponentData.mts | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/docs/datas/components/Button.json b/apps/docs/datas/components/Button.json index 9b7263605..b61620afd 100644 --- a/apps/docs/datas/components/Button.json +++ b/apps/docs/datas/components/Button.json @@ -1 +1 @@ -[{"tags":{},"filePath":"/Users/franck.gaudin/Devel/DS/wl-hopper/packages/components/src/buttons/src/Button.tsx","description":"Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.\n\n[View Documentation](TODO)","displayName":"Button","methods":[],"props":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"form":{"defaultValue":null,"description":"The
element to associate the button with.\nThe value of this attribute must be the id of a in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"groups":{"default":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"form":{"defaultValue":null,"description":"The element to associate the button with.\nThe value of this attribute must be the id of a in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"events":{"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}}},"a11y":{"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}}}}}] \ No newline at end of file +[{"tags":{},"filePath":"/Users/franck.gaudin/Devel/DS/wl-hopper/packages/components/src/buttons/src/Button.tsx","description":"Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.\n\n[View Documentation](TODO)","displayName":"Button","methods":[],"props":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"form":{"defaultValue":null,"description":"The element to associate the button with.\nThe value of this attribute must be the id of a in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"groups":{"default":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"form":{"defaultValue":null,"description":"The element to associate the button with.\nThe value of this attribute must be the id of a in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}}},"events":{"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}}},"a11y":{"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}}},"layout":{"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}}}}}] \ No newline at end of file diff --git a/apps/docs/scripts/generateComponentData.mts b/apps/docs/scripts/generateComponentData.mts index 0339aff7d..9569590d6 100644 --- a/apps/docs/scripts/generateComponentData.mts +++ b/apps/docs/scripts/generateComponentData.mts @@ -14,7 +14,7 @@ interface Group { type Groups = { [key: string]: Group } type GroupsConfig = { - [key: string]: string; + [key: string]: string | string[] } export interface ComponentDocWithGroups extends ComponentDoc { @@ -54,23 +54,34 @@ function getFormattedData(data: ComponentDoc[]): ComponentDocWithGroups[] { const groupsConfig: GroupsConfig = { events: "Events", - a11y: 'Aria', + a11y: ["Aria", "Focusable"], + layout: "Slot", // Add more groups here as needed }; return data.map(component => { + // Destructure and ignore id and ref from component.props + const {key, ref, ...props} = component.props; + // Initialize the groups const groups: Groups = { default: {}, ...Object.keys(groupsConfig).reduce((acc, group) => ({...acc, [group]: {}}), {}), }; - Object.entries(component.props).forEach(([key, prop]) => { + Object.entries(props).forEach(([key, prop]) => { let added = false; // Check each group to see if the prop should be added to it Object.entries(groupsConfig).forEach(([group, term]) => { - if (prop.parent?.name.includes(term)) { + if (Array.isArray(term)) { + term.forEach(t => { + if (prop.parent?.name.includes(t)) { + groups[group][key] = prop; + added = true; + } + }); + } else if (prop.parent?.name.includes(term)) { groups[group][key] = prop; added = true; } From 2115887e70bce184e0d6b440b7619e1398cc1a03 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 30 Apr 2024 09:36:33 -0400 Subject: [PATCH 02/14] feat(Doc): refactor the code for displaying props in the table. --- apps/docs/app/globals.css | 20 ++-- apps/docs/app/lib/formatingCode.ts | 9 ++ apps/docs/app/lib/gePropsType.ts | 20 ++++ apps/docs/app/lib/generateUniqueKey.ts | 3 + apps/docs/app/lib/rehypeConfig.js | 5 +- apps/docs/app/rehype.css | 83 ++++++------- .../app/ui/components/propTable/PropTable.tsx | 111 +++++++----------- .../components/propTable/PropTableRender.tsx | 82 +++++++++++++ apps/docs/components/code/InlineCode.tsx | 6 +- apps/docs/components/code/code.css | 6 + .../collapsible/Collapsible.stories.tsx | 7 ++ .../components/collapsible/Collapsible.tsx | 15 ++- .../highlightCode/HighlightCode.tsx | 23 +++- apps/docs/components/pre/Pre.tsx | 5 +- apps/docs/components/table/Table.tsx | 6 +- apps/docs/content/components/button.mdx | 3 +- 16 files changed, 255 insertions(+), 149 deletions(-) create mode 100644 apps/docs/app/lib/formatingCode.ts create mode 100644 apps/docs/app/lib/gePropsType.ts create mode 100644 apps/docs/app/lib/generateUniqueKey.ts create mode 100644 apps/docs/app/ui/components/propTable/PropTableRender.tsx diff --git a/apps/docs/app/globals.css b/apps/docs/app/globals.css index 93f4f8360..7c3783247 100644 --- a/apps/docs/app/globals.css +++ b/apps/docs/app/globals.css @@ -2,19 +2,19 @@ @import url("./rehype.css"); @font-face { - font-family: "ABC Favorit Mono"; - font-style: normal; - font-weight: 400; - src: url("https://cdn.platform.workleap.com/hopper/fonts/abc-favorit/mono/alternative/ABCFavoritMono-Regular.woff2") format("woff2-variations"); - font-display: fallback; + font-family: "ABC Favorit Mono"; + font-style: normal; + font-weight: 400; + src: url("https://cdn.platform.workleap.com/hopper/fonts/abc-favorit/mono/alternative/ABCFavoritMono-Regular.woff2") format("woff2-variations"); + font-display: fallback; } @font-face { - font-family: "ABC Favorit"; - font-style: normal; - font-weight: 100 900; - src: url("https://cdn.platform.workleap.com/hopper/fonts/abc-favorit/alternative/ABCFavoritVariable.woff2") format("woff2-variations"); - font-display: fallback; + font-family: "ABC Favorit"; + font-style: normal; + font-weight: 100 900; + src: url("https://cdn.platform.workleap.com/hopper/fonts/abc-favorit/alternative/ABCFavoritVariable.woff2") format("woff2-variations"); + font-display: fallback; } * { diff --git a/apps/docs/app/lib/formatingCode.ts b/apps/docs/app/lib/formatingCode.ts new file mode 100644 index 000000000..8cc5b9a94 --- /dev/null +++ b/apps/docs/app/lib/formatingCode.ts @@ -0,0 +1,9 @@ +import { highlightCode } from "@/components/highlightCode"; + +export async function formatCode(code: string, language: string) { + return await highlightCode(` +\`\`\`${language} +${code} +\`\`\` +`); +} diff --git a/apps/docs/app/lib/gePropsType.ts b/apps/docs/app/lib/gePropsType.ts new file mode 100644 index 000000000..f61662d7a --- /dev/null +++ b/apps/docs/app/lib/gePropsType.ts @@ -0,0 +1,20 @@ +export interface PropItemTypeValue { + name: string; + value?: Array<{ value: string; name: string }>; + raw?: string; +} + +export function getType(type: PropItemTypeValue) { + const handler: { + [key: string]: (type: PropItemTypeValue) => string; + } = { + enum: t => + t.value ? t.value.map(item => item.value.replace(/'/g, "")).join(" \\| ") : "", + union: t => t.value ? t.value.map(item => item.name).join(" \\| ") : "" + }; + if (typeof handler[type.name] === "function") { + return handler[type.name](type).replace(/\|/g, ""); + } + + return type.name; +} diff --git a/apps/docs/app/lib/generateUniqueKey.ts b/apps/docs/app/lib/generateUniqueKey.ts new file mode 100644 index 000000000..8b1cd459c --- /dev/null +++ b/apps/docs/app/lib/generateUniqueKey.ts @@ -0,0 +1,3 @@ +export function generateUniqueKey() { + return `${Date.now()}-${Math.random()}`; +} diff --git a/apps/docs/app/lib/rehypeConfig.js b/apps/docs/app/lib/rehypeConfig.js index bea95eef8..cf9d7587a 100644 --- a/apps/docs/app/lib/rehypeConfig.js +++ b/apps/docs/app/lib/rehypeConfig.js @@ -4,7 +4,10 @@ import rehypePrettyCode from "rehype-pretty-code"; /** @type {import('rehype-pretty-code').Options } */ export const rehypeOptions = { // Use one of Shiki's packaged themes - theme: "nord", + theme: { + light: "one-dark-pro", + dark: "one-dark-pro" + }, keepBackground: false, onVisitLine(node) { // Prevent lines from collapsing in `display: grid` mode, and diff --git a/apps/docs/app/rehype.css b/apps/docs/app/rehype.css index 501109793..6190ca58a 100644 --- a/apps/docs/app/rehype.css +++ b/apps/docs/app/rehype.css @@ -4,27 +4,40 @@ --hd-codeblock-border-radius: 0.5rem; --hd-codeblock-border-size: 0.125rem; --hd-codeblock-padding: var(--hd-space-2); -} - -[data-rehype-pretty-code-figure] { - /* NORD */ - --hd-codeblock-line-highlighted-border-color: #88C0D0; + --hd-codeblock-line-line-number-color: var(--hd-neutral-400); --hd-codeblock-line-highlighted-background-color: #434C5E; - --hd-codeblock-line-line-number-color: #4C566A; - --hd-codeblock-line-line-number-color-highlight: #D8DEE9; + --hd-codeblock-line-highlighted-border-color: #88C0D0; --hd-codeblock-word-selection-background-color: #4B586A; - --hd-codeblock-word-setter-background-color: #D0877080; - --hd-codeblock-word-setter-text-color: rgb(232 228 228); - --hd-codeblock-word-initial-value-background-color: #B48EAD80; - --hd-codeblock-word-initial-value-text-color: rgb(233 217 229); - --hd-codeblock-word-value-background-color: #BF616A80; - --hd-codeblock-word-value-text-color: rgb(239 194 198); - --hd-codeblock-title-background-color: rgb(59 66 82); - --hd-codeblock-title-text-color: rgb(216 222 233); + --hd-codeblock-word-color: #AF168D; +} + +code[data-theme*=' '], +code[data-theme*=' '] span { + color: var(--shiki-light); +} + +[data-theme="dark"] { + code[data-theme*=' '], + code[data-theme*=' '] span { + color: var(--shiki-dark, var(--hd-color-neutral-text)); + } +} + +[style*="--shiki-light: #98C379"] { + --shiki-light: var(--hd-color-primary-text) !important +} + +[style*="--shiki-light: #E06C75"], +[style*="--shiki-light: #C678DD"] { + --shiki-light: var(--hd-codeblock-word-color) !important } -[data-rehype-pretty-code-figure] *::selection { - background: rgb(67 76 94 / 80%); +[style*="--shiki-light: #56B6C2"] { + --shiki-light: var(--hd-neutral-700) !important +} + +[style*="--shiki-light: #E5C07B"] { + --shiki-light: var(--hd-color-accent-text) !important } [data-rehype-pretty-code-figure] pre { @@ -57,7 +70,7 @@ border-left-color: var(--hd-codeblock-line-highlighted-border-color); } -/* LINE NUMBERS */ +/*!* LINE NUMBERS *!*/ [data-rehype-pretty-code-figure] code[data-line-numbers] { counter-reset: line; } @@ -71,17 +84,12 @@ color: var(--hd-codeblock-line-line-number-color); } -/* LINE NUMBERS HIGHLIGHT - NUMBER COLOR */ -[data-rehype-pretty-code-figure] code[data-line-numbers] > [data-line].highlighted::before { - color: var(--hd-codeblock-line-line-number-color-highlight); -} - -/* Block Title */ +/*!* Block Title *!*/ [data-rehype-pretty-code-title] { display: none; } -/* Block Caption */ +/*!* Block Caption *!*/ [data-rehype-pretty-code-caption] { margin-top: var(--hd-space-1); color: var(--hd-color-primary-text); @@ -89,28 +97,3 @@ font-style: italic; font-size: .875rem; } - -/* Custom Word ID */ -[data-rehype-pretty-code-figure] [data-word-id] { - padding: var(--hd-space-05); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #000000), var(--tw-ring-shadow, 0 0 #000000), var(--tw-shadow); -} - -/* v for value */ -[data-rehype-pretty-code-figure] [data-word-id="v"] { - background-color: var(--hd-codeblock-word-value-background-color); - color: var(--hd-codeblock-word-value-text-color); -} - -/* s for setter */ -[data-rehype-pretty-code-figure] [data-word-id="s"] { - background-color: var(--hd-codeblock-word-setter-background-color); - color: var(--hd-codeblock-word-setter-text-color); -} - -/* i for initial value */ -[data-rehype-pretty-code-figure] [data-word-id="i"] { - background-color: var(--hd-codeblock-word-initial-value-background-color); - color: var(--hd-codeblock-word-initial-value-text-color); - font-weight: 700; -} diff --git a/apps/docs/app/ui/components/propTable/PropTable.tsx b/apps/docs/app/ui/components/propTable/PropTable.tsx index ae885064a..198c69314 100644 --- a/apps/docs/app/ui/components/propTable/PropTable.tsx +++ b/apps/docs/app/ui/components/propTable/PropTable.tsx @@ -1,93 +1,68 @@ import { promises as fs } from "fs"; import path from "path"; +import { MDXRemote } from "next-mdx-remote/rsc"; import type { PropItem } from "react-docgen-typescript/lib/parser"; import type { ComponentDocWithGroups } from "@/scripts/generateComponentData.mjs"; -import Collapsible from "@/components/collapsible/Collapsible.tsx"; -import Title from "@/components/title/Title.tsx"; +import { getType } from "@/app/lib/gePropsType.ts"; +import { generateUniqueKey } from "@/app/lib/generateUniqueKey.ts"; +import { formatCode } from "@/app/lib/formatingCode.ts"; + +import Code from "@/components/code/Code.tsx"; +import { HighlightCode } from "@/components/highlightCode"; import "./propTable.css"; +import { PropTableRender } from "@/app/ui/components/propTable/PropTableRender.tsx"; export interface PropTableProps { component: string; } -interface PropItemTypeValue { - name: string; - value?: Array<{ value: string; name: string }>; - raw?: string; -} - const filePath = path.join(process.cwd(), "datas", "components"); -const getType = (type: PropItemTypeValue) => { - const handler: { - [key: string]: (type: PropItemTypeValue) => string; - } = { - enum: t => - t.value ? t.value.map(item => item.value.replace(/'/g, "")).join(" \\| ") : "", - union: t => t.value ? t.value.map(item => item.name).join(" \\| ") : "" - }; - if (typeof handler[type.name] === "function") { - return handler[type.name](type).replace(/\|/g, ""); - } +export const renderRow = async (prop: PropItem) => { + const { name, type, defaultValue, description } = prop; + const formatType = getType(type); + const code = await formatCode(formatType, "tsx"); + const hilighCode = ; + const formatedDescription = description.replace(//g, ""); - return type.name; + return ({ + id: generateUniqueKey(), + name: {name}, + type: hilighCode, + defaultValue: defaultValue ? defaultValue.value : "", + description: + }); }; -const renderRow = (key: string, prop: PropItem) => { - const { name, type, defaultValue, required, description } = prop; +const formatPropTable = async (data: ComponentDocWithGroups[]): Promise[]; +}>> => { + const result = []; + for (const item of data) { + const { groups } = item; + for (const group of Object.keys(groups)) { + const groupItems = await Promise.all(Object.keys(groups[group]).map(key => renderRow(groups[group][key]))); + result.push({ [group]: groupItems }); + } + } - return ( - - {name} - {getType(type)} - {defaultValue?.value} - {required ? "✓" : "✗"} - {description} - - ); + return result; }; +const getDescripton = (data: ComponentDocWithGroups[]) => data.map((item: ComponentDocWithGroups) => item.description); + export default async function PropTable({ component }: PropTableProps) { const file = await fs.readFile(filePath + `/${component}.json`, "utf8"); const data = JSON.parse(file); - return data.map((item: ComponentDocWithGroups) => { - const { description, displayName, groups } = item; + const formatedGroupsData = await formatPropTable(data); + const description = getDescripton(data); - return ( - <> -

{displayName}

-

{description}

- {Object.keys(groups).map(group => { - return ( - - {group} - - } - className="props__section" - > - - - - - - - - - - - - {Object.keys(groups[group]).map(key => renderRow(key, groups[group][key]))} - -
PropertyTypeDefaultRequiredDescription
-
- ); - })} - - ); - }); + return ( + <> +

{description}

+ + + ); } diff --git a/apps/docs/app/ui/components/propTable/PropTableRender.tsx b/apps/docs/app/ui/components/propTable/PropTableRender.tsx new file mode 100644 index 000000000..e5b5a7e1d --- /dev/null +++ b/apps/docs/app/ui/components/propTable/PropTableRender.tsx @@ -0,0 +1,82 @@ +import Collapsible from "@/components/collapsible/Collapsible.tsx"; +import Title from "@/components/title/Title.tsx"; +import type { ReactNode } from "react"; +import type { renderRow } from "@/app/ui/components/propTable/PropTable.tsx"; + +interface PropItem { + [group: string]: typeof renderRow; +} + +interface PropTableRenderProps { + groupsData: PropItem[]; +} + +interface TableRowProps { + items: any; +} + +const TableRow = ({ items }: { items: TableRowProps }) => { + if (!items) { + return null; + } + + const [name] = Object.keys(items); + + return items[name].map((item: any) => { + return ( + + {item.name} + {item.type} + {item.defaultValue.value} + {item.description} + + ); + }); +}; + +const TableTemplate = ({ children }: { children: ReactNode }) => { + return ( + + + + + + + + + + + {children} + +
PropTypeDefaultDescription
+ ); +}; + +export function PropTableRender({ groupsData }: { groupsData: PropTableRenderProps[] }) { + return ( + <> + {groupsData.map(group => { + const [title] = Object.keys(group); + + return ( + <> + {title === "default" ? + + + : + + {title} + } + > + + + + + } + + ); + })} + + ); +} diff --git a/apps/docs/components/code/InlineCode.tsx b/apps/docs/components/code/InlineCode.tsx index 12aadc9d8..e539f5e58 100644 --- a/apps/docs/components/code/InlineCode.tsx +++ b/apps/docs/components/code/InlineCode.tsx @@ -1,14 +1,16 @@ import React, { type HTMLAttributes } from "react"; +import clsx from "clsx"; import "./code.css"; export type InlineCodeProps = React.DetailedHTMLProps, HTMLElement> & { children?: React.ReactNode; + variant?: "default" | "ghost"; }; -const InlineCode = ({ children, ...props }: InlineCodeProps) => { +const InlineCode = ({ children, variant = "default", ...props }: InlineCodeProps) => { return ( - {children} + {children} ); }; diff --git a/apps/docs/components/code/code.css b/apps/docs/components/code/code.css index 097b6be31..49328e640 100644 --- a/apps/docs/components/code/code.css +++ b/apps/docs/components/code/code.css @@ -27,3 +27,9 @@ opacity: 1; transform: translateX(var(--hd-space-1)); } + +.hd-code--ghost { + padding-block: 0; + padding-inline: 0; + background-color: transparent; +} diff --git a/apps/docs/components/collapsible/Collapsible.stories.tsx b/apps/docs/components/collapsible/Collapsible.stories.tsx index 5f3d09385..1726255bd 100644 --- a/apps/docs/components/collapsible/Collapsible.stories.tsx +++ b/apps/docs/components/collapsible/Collapsible.stories.tsx @@ -17,3 +17,10 @@ export const Default: Story = { children: "Conent of the collapsible" } }; + +export const Open: Story = { + args: { + ...Default.args, + isOpen: true + } +}; diff --git a/apps/docs/components/collapsible/Collapsible.tsx b/apps/docs/components/collapsible/Collapsible.tsx index 169dc64de..b353f8d48 100644 --- a/apps/docs/components/collapsible/Collapsible.tsx +++ b/apps/docs/components/collapsible/Collapsible.tsx @@ -1,7 +1,7 @@ "use client"; import clsx from "clsx"; -import { type ReactNode, useRef, useState } from "react"; +import { type ReactNode, useEffect, useRef, useState } from "react"; import { ToggleButton } from "react-aria-components"; import { Icon, CollapseIcon } from "@/components/icon"; @@ -19,11 +19,15 @@ const Collapsible = ({ children, title, label, isOpen = false, className }: Coll const [open, setOpen] = useState(isOpen); const contentRef = useRef(null); - let styles = { height: "0px" }; + useEffect(() => { + if (open && contentRef.current) { + contentRef.current.style.height = `${contentRef.current.scrollHeight}px`; + } - if (contentRef.current && open) { - styles = { height: contentRef.current.scrollHeight + "px" }; - } + if (!open && contentRef.current) { + contentRef.current.style.height = "0px"; + } + }, [open]); const toggle = () => { setOpen(!open); @@ -40,7 +44,6 @@ const Collapsible = ({ children, title, label, isOpen = false, className }: Coll
{children}
diff --git a/apps/docs/components/highlightCode/HighlightCode.tsx b/apps/docs/components/highlightCode/HighlightCode.tsx index a205881ac..630efca28 100644 --- a/apps/docs/components/highlightCode/HighlightCode.tsx +++ b/apps/docs/components/highlightCode/HighlightCode.tsx @@ -7,30 +7,41 @@ import rehypeReact from "rehype-react"; import rehypeParse from "rehype-parse"; import Pre from "@/components/pre/Pre.tsx"; +import InlineCode, { type InlineCodeProps } from "@/components/code/InlineCode.tsx"; + +export type Variant = "default" | "tiny"; export interface HighlightCodeProps { code: string; + variant?: Variant; } -const production = { Fragment: prod.Fragment, jsx: prod.jsx, jsxs: prod.jsxs, components: { pre: Pre } }; +const production = { Fragment: prod.Fragment, jsx: prod.jsx, jsxs: prod.jsxs }; -function useProcessor(text: string) { +function useProcessor(text: string, variant?: Variant) { const [Content, setContent] = useState(<>); useEffect(() => { + const options = { + ...production, + components: { + pre: variant === "tiny" ? (props: InlineCodeProps) => : Pre + } + }; + unified() .use(rehypeParse, { fragment: true }) // @ts-expect-error: rehype-react types error - .use(rehypeReact, production) + .use(rehypeReact, options) .process(text) .then(file => { setContent(file.result); }); - }, [text]); + }, [text, variant]); return Content; } -export default function HighlightCode({ code }: HighlightCodeProps) { - return useProcessor(code); +export default function HighlightCode({ code, variant = "default" }: HighlightCodeProps) { + return useProcessor(code, variant); } diff --git a/apps/docs/components/pre/Pre.tsx b/apps/docs/components/pre/Pre.tsx index 2751466ea..9e8582539 100644 --- a/apps/docs/components/pre/Pre.tsx +++ b/apps/docs/components/pre/Pre.tsx @@ -12,9 +12,10 @@ export type PreProps = React.DetailedHTMLProps, H "data-language"?: string; raw?: string; className?: string; + theme?: "light" | "dark"; }; -const Pre = ({ children, className, title, "data-language": dataLanguage, raw, ...props }: PreProps) => { +const Pre = ({ children, className, title, "data-language": dataLanguage, raw, theme = "dark", ...props }: PreProps) => { const classes = clsx("hd-pre", { "hd-pre--title": title }, className); @@ -31,7 +32,7 @@ const Pre = ({ children, className, title, "data-language": dataLanguage, raw, . const copyButton = raw && ; return ( -
+        
             {title &&
                 
diff --git a/apps/docs/components/table/Table.tsx b/apps/docs/components/table/Table.tsx index 9a84d3db0..b9bb84520 100644 --- a/apps/docs/components/table/Table.tsx +++ b/apps/docs/components/table/Table.tsx @@ -2,7 +2,7 @@ import clsx from "clsx"; import { Cell, Column, Row, Table as TableRA, TableBody, TableHeader } from "react-aria-components"; -import type { ReactNode } from "react"; +import React, { type ReactNode, useMemo } from "react"; import "./table.css"; @@ -25,6 +25,7 @@ function generateUniqueKey() { const Table = ({ data, head, lastColumnAlignment = "left", ariaLabel = "standard table", className }: TableProps) => { const textAlignRight = lastColumnAlignment === "right"; const lastColumn = head.length - 1; + const dataItem = useMemo(() => data, [data]); const headItems = head.map((item, index) => { return ( @@ -37,7 +38,7 @@ const Table = ({ data, head, lastColumnAlignment = "left", ariaLabel = "standard ); }); - const dataItems = data.map(item => { + const dataItems = dataItem.map(item => { return ( {Object.keys(item).map((key, index) => { @@ -54,6 +55,7 @@ const Table = ({ data, head, lastColumnAlignment = "left", ariaLabel = "standard }); return ( + {headItems} diff --git a/apps/docs/content/components/button.mdx b/apps/docs/content/components/button.mdx index d7c844de4..7d747b250 100644 --- a/apps/docs/content/components/button.mdx +++ b/apps/docs/content/components/button.mdx @@ -11,14 +11,13 @@ links: ## Usage -```shell +```tsx import { Button } from "@hopper-ui/components"; ``` ```tsx showLineNumbers ``` ## Props -The table below contains all types of the props available in title component. From 51f6bfef5e9a42155eca96d9cf46f2f4fa634160 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 30 Apr 2024 11:13:34 -0400 Subject: [PATCH 03/14] feat(Doc): refactor the code for displaying props in the table. --- .../app/ui/components/propTable/PropTable.tsx | 16 +++++++++++++--- .../components/propTable/PropTableRender.tsx | 18 ++++++++---------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/apps/docs/app/ui/components/propTable/PropTable.tsx b/apps/docs/app/ui/components/propTable/PropTable.tsx index 198c69314..6296ac1d8 100644 --- a/apps/docs/app/ui/components/propTable/PropTable.tsx +++ b/apps/docs/app/ui/components/propTable/PropTable.tsx @@ -1,8 +1,10 @@ import { promises as fs } from "fs"; import path from "path"; import { MDXRemote } from "next-mdx-remote/rsc"; +import type { ReactNode } from "react"; import type { PropItem } from "react-docgen-typescript/lib/parser"; import type { ComponentDocWithGroups } from "@/scripts/generateComponentData.mjs"; + import { getType } from "@/app/lib/gePropsType.ts"; import { generateUniqueKey } from "@/app/lib/generateUniqueKey.ts"; import { formatCode } from "@/app/lib/formatingCode.ts"; @@ -17,6 +19,16 @@ export interface PropTableProps { component: string; } +export interface RenderRowReturn { + id: string; + name: ReactNode; + type: ReactNode; + defaultValue: { value: string }; + description: ReactNode; +} + +export type FormatedGroupsData = Array<{ [group: string]: RenderRowReturn[] }>; + const filePath = path.join(process.cwd(), "datas", "components"); export const renderRow = async (prop: PropItem) => { @@ -35,9 +47,7 @@ export const renderRow = async (prop: PropItem) => { }); }; -const formatPropTable = async (data: ComponentDocWithGroups[]): Promise[]; -}>> => { +const formatPropTable = async (data: ComponentDocWithGroups[]) => { const result = []; for (const item of data) { const { groups } = item; diff --git a/apps/docs/app/ui/components/propTable/PropTableRender.tsx b/apps/docs/app/ui/components/propTable/PropTableRender.tsx index e5b5a7e1d..69f00db2b 100644 --- a/apps/docs/app/ui/components/propTable/PropTableRender.tsx +++ b/apps/docs/app/ui/components/propTable/PropTableRender.tsx @@ -1,28 +1,26 @@ import Collapsible from "@/components/collapsible/Collapsible.tsx"; import Title from "@/components/title/Title.tsx"; import type { ReactNode } from "react"; -import type { renderRow } from "@/app/ui/components/propTable/PropTable.tsx"; - -interface PropItem { - [group: string]: typeof renderRow; -} +import type { RenderRowReturn, FormatedGroupsData } from "@/app/ui/components/propTable/PropTable.tsx"; interface PropTableRenderProps { - groupsData: PropItem[]; + groupsData: FormatedGroupsData; } +type Item = RenderRowReturn; + interface TableRowProps { - items: any; + items: { [group: string]: Item[] }; } -const TableRow = ({ items }: { items: TableRowProps }) => { +const TableRow = ({ items }: TableRowProps) => { if (!items) { return null; } const [name] = Object.keys(items); - return items[name].map((item: any) => { + return items[name].map(item => { return ( {item.name} @@ -52,7 +50,7 @@ const TableTemplate = ({ children }: { children: ReactNode }) => { ); }; -export function PropTableRender({ groupsData }: { groupsData: PropTableRenderProps[] }) { +export function PropTableRender({ groupsData }: PropTableRenderProps) { return ( <> {groupsData.map(group => { From fe7f44ec53ae1be1b3389109d245e67722672059 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 7 May 2024 09:47:37 -0400 Subject: [PATCH 04/14] feat(Doc): table integration for props --- apps/docs/app/lib/getComponentProps.ts | 47 ++ apps/docs/app/pages/landing/page.tsx | 3 +- apps/docs/app/rehype.css | 6 +- .../app/ui/components/propTable/PropTable.tsx | 102 ++- .../components/propTable/PropTableRender.tsx | 143 ++-- .../app/ui/components/propTable/propTable.css | 50 +- .../components/collapsible/collapsible.css | 2 +- .../highlightCode/HighlightCode.tsx | 6 +- apps/docs/components/table/table.css | 4 + apps/docs/package.json | 1 + pnpm-lock.yaml | 784 ++++++++++-------- 11 files changed, 674 insertions(+), 474 deletions(-) create mode 100644 apps/docs/app/lib/getComponentProps.ts diff --git a/apps/docs/app/lib/getComponentProps.ts b/apps/docs/app/lib/getComponentProps.ts new file mode 100644 index 000000000..debd426f3 --- /dev/null +++ b/apps/docs/app/lib/getComponentProps.ts @@ -0,0 +1,47 @@ +import { promises as fs } from "fs"; +import path from "path"; +import type { ComponentDocWithGroups } from "@/scripts/generateComponentData.mjs"; +import type { PropItem } from "react-docgen-typescript/lib/parser"; +import { getType } from "@/app/lib/gePropsType.ts"; +import { formatCode } from "@/app/lib/formatingCode.ts"; +import { generateUniqueKey } from "@/app/lib/generateUniqueKey.ts"; + +const filePath = path.join(process.cwd(), "datas", "components"); + +export const formatData = async (prop: PropItem) => { + const { name, type, defaultValue, description } = prop; + const formatType = getType(type); + const code = await formatCode(formatType, "tsx"); + const formatedDescription = description.replace(//g, ""); + + return ({ + id: generateUniqueKey(), + name, + type: code, + defaultValue: defaultValue ? defaultValue.value : "", + description: formatedDescription + }); +}; + +async function formatPropTable(data: ComponentDocWithGroups[]) { + const result = []; + for (const item of data) { + const { groups } = item; + for (const group of Object.keys(groups)) { + const groupItems = await Promise.all(Object.keys(groups[group]).map(key => formatData(groups[group][key]))); + result.push({ [group]: groupItems }); + } + } + + return result; +} + +export async function getComponentProps(component: string) { + const file = await fs.readFile(filePath + `/${component}.json`, "utf8"); + const data = JSON.parse(file); + const [item] = data; + + const groups = await formatPropTable(data); + + return ({ description: item.description, groups }); +} diff --git a/apps/docs/app/pages/landing/page.tsx b/apps/docs/app/pages/landing/page.tsx index bb0db0314..32fa493d1 100644 --- a/apps/docs/app/pages/landing/page.tsx +++ b/apps/docs/app/pages/landing/page.tsx @@ -2,12 +2,11 @@ import { Button as HopperButton, HopperProvider } from "@hopper-ui/components"; import Image from "next/image"; -import { AccessibleIcon, ArrowIcon, DarkModeIcon, FontSizeIcon, InternationalIcon, LineHeightIcon, MarginIcon, SelectArrowIcon, TypescriptIcon } from "../../../components/icon/index"; +import { AccessibleIcon, ArrowIcon, DarkModeIcon, FontSizeIcon, InternationalIcon, LineHeightIcon, MarginIcon, SelectArrowIcon, TypescriptIcon, ExternalLinkIcon, Icon } from "../../../components/icon/index"; import { type ColorScheme, ThemeContext } from "@/context/theme/ThemeProvider.tsx"; import { useContext } from "react"; import Button from "@/components/button/Button"; import Tag from "@/components/tag/Tag"; -import { ExternalLinkIcon, Icon } from "@/components/icon"; // eslint-disable-next-line max-len import { CalendarIcon, ChartBarIcon, CheckmarkIcon, DeleteIcon, EyeVisibleIcon, FilterIcon, FocusIcon, ItalicIcon, LightbulbIcon, LockIcon, MailIcon, NotebookIcon, PinIcon, ProfileIcon, ReactionIcon, RecurringIcon, RewindIcon, SearchIcon, ShareIcon, StarIcon, StickyIcon, SyncIcon, TeamIcon, ThumbsUpIcon, UnarchiveIcon, WarningIcon } from "@hopper-ui/icons"; diff --git a/apps/docs/app/rehype.css b/apps/docs/app/rehype.css index 6190ca58a..aa8096960 100644 --- a/apps/docs/app/rehype.css +++ b/apps/docs/app/rehype.css @@ -70,7 +70,7 @@ code[data-theme*=' '] span { border-left-color: var(--hd-codeblock-line-highlighted-border-color); } -/*!* LINE NUMBERS *!*/ +/* !* LINE NUMBERS *! */ [data-rehype-pretty-code-figure] code[data-line-numbers] { counter-reset: line; } @@ -84,12 +84,12 @@ code[data-theme*=' '] span { color: var(--hd-codeblock-line-line-number-color); } -/*!* Block Title *!*/ +/* !* Block Title *! */ [data-rehype-pretty-code-title] { display: none; } -/*!* Block Caption *!*/ +/* !* Block Caption *! */ [data-rehype-pretty-code-caption] { margin-top: var(--hd-space-1); color: var(--hd-color-primary-text); diff --git a/apps/docs/app/ui/components/propTable/PropTable.tsx b/apps/docs/app/ui/components/propTable/PropTable.tsx index 6296ac1d8..eca46c374 100644 --- a/apps/docs/app/ui/components/propTable/PropTable.tsx +++ b/apps/docs/app/ui/components/propTable/PropTable.tsx @@ -1,78 +1,76 @@ -import { promises as fs } from "fs"; -import path from "path"; import { MDXRemote } from "next-mdx-remote/rsc"; -import type { ReactNode } from "react"; -import type { PropItem } from "react-docgen-typescript/lib/parser"; -import type { ComponentDocWithGroups } from "@/scripts/generateComponentData.mjs"; - -import { getType } from "@/app/lib/gePropsType.ts"; -import { generateUniqueKey } from "@/app/lib/generateUniqueKey.ts"; -import { formatCode } from "@/app/lib/formatingCode.ts"; +import { getComponentProps } from "@/app/lib/getComponentProps.ts"; +import Collapsible from "@/components/collapsible/Collapsible.tsx"; +import Title from "@/components/title/Title.tsx"; import Code from "@/components/code/Code.tsx"; -import { HighlightCode } from "@/components/highlightCode"; +import HighlightCode from "@/components/highlightCode/HighlightCode.tsx"; + +import { PropTableRender } from "./PropTableRender.tsx"; +import type { Item } from "./PropTableRender.tsx"; import "./propTable.css"; -import { PropTableRender } from "@/app/ui/components/propTable/PropTableRender.tsx"; export interface PropTableProps { component: string; } -export interface RenderRowReturn { - id: string; - name: ReactNode; - type: ReactNode; - defaultValue: { value: string }; - description: ReactNode; +interface PropTableItem extends Item { + name: string; + type: string; + description: string; } -export type FormatedGroupsData = Array<{ [group: string]: RenderRowReturn[] }>; +export interface Groups { + [group: string]: PropTableItem[]; +} -const filePath = path.join(process.cwd(), "datas", "components"); +const formatGroup = (groups: Groups[]) => { + return groups.map(group => { + const [key] = Object.keys(group); -export const renderRow = async (prop: PropItem) => { - const { name, type, defaultValue, description } = prop; - const formatType = getType(type); - const code = await formatCode(formatType, "tsx"); - const hilighCode = ; - const formatedDescription = description.replace(//g, ""); + return { + [key]: group[key].map(item => { + const description = item.description; + const formatedDescription = description.replace(//g, ""); - return ({ - id: generateUniqueKey(), - name: {name}, - type: hilighCode, - defaultValue: defaultValue ? defaultValue.value : "", - description: + return { + ...item, + name: {item.name}, + type: , + description: + }; + }) + }; }); }; -const formatPropTable = async (data: ComponentDocWithGroups[]) => { - const result = []; - for (const item of data) { - const { groups } = item; - for (const group of Object.keys(groups)) { - const groupItems = await Promise.all(Object.keys(groups[group]).map(key => renderRow(groups[group][key]))); - result.push({ [group]: groupItems }); - } - } - - return result; -}; - -const getDescripton = (data: ComponentDocWithGroups[]) => data.map((item: ComponentDocWithGroups) => item.description); - export default async function PropTable({ component }: PropTableProps) { - const file = await fs.readFile(filePath + `/${component}.json`, "utf8"); - const data = JSON.parse(file); - - const formatedGroupsData = await formatPropTable(data); - const description = getDescripton(data); + const { description, groups } = await getComponentProps(component); + const formatedGroups = formatGroup(groups); return ( <>

{description}

- + {formatedGroups.map(group => { + const [key] = Object.keys(group); + + return ( + <> + {key === "default" ? + : + + {key} + } + > + + + } + + ); + })} ); } diff --git a/apps/docs/app/ui/components/propTable/PropTableRender.tsx b/apps/docs/app/ui/components/propTable/PropTableRender.tsx index 69f00db2b..0f798ab5b 100644 --- a/apps/docs/app/ui/components/propTable/PropTableRender.tsx +++ b/apps/docs/app/ui/components/propTable/PropTableRender.tsx @@ -1,80 +1,99 @@ -import Collapsible from "@/components/collapsible/Collapsible.tsx"; -import Title from "@/components/title/Title.tsx"; -import type { ReactNode } from "react"; -import type { RenderRowReturn, FormatedGroupsData } from "@/app/ui/components/propTable/PropTable.tsx"; +"use client"; -interface PropTableRenderProps { - groupsData: FormatedGroupsData; -} +import { + flexRender, + getCoreRowModel, + useReactTable, + type ColumnDef +} from "@tanstack/react-table"; +import clsx from "clsx"; -type Item = RenderRowReturn; +import type { ReactNode } from "react"; -interface TableRowProps { - items: { [group: string]: Item[] }; +export interface Item { + id: string; + name: ReactNode; + type: ReactNode; + defaultValue: string; + description: ReactNode; } -const TableRow = ({ items }: TableRowProps) => { - if (!items) { - return null; +const columns: ColumnDef[] = [ + { + id: "name", + accessorKey: "name", + header: () => "Prop", + cell: info => info.getValue() + }, + { + id: "type", + accessorKey: "type", + header: () => "Type", + cell: info => info.getValue() + }, + { + id: "default", + accessorKey: "defaultValue", + header: () => "Default" + + }, + { + id: "description", + accessorKey: "description", + header: () => "Description", + cell: info => info.getValue() } +]; - const [name] = Object.keys(items); +const isColumnAvailable = (columnName: string, items: Item[]) => { + return items.some(item => item[columnName as keyof Item] !== ""); +}; - return items[name].map(item => { - return ( - - {item.name} - {item.type} - {item.defaultValue.value} - {item.description} - - ); +export const PropTableRender = ({ items }: { items: Item[] }) => { + const table = useReactTable({ + columns, + state: { + columnVisibility: { + "default": isColumnAvailable("defaultValue", items) + } + }, + data: items, + getCoreRowModel: getCoreRowModel() }); -}; -const TableTemplate = ({ children }: { children: ReactNode }) => { + return ( - +
- - - - - - + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map(header => ( + + ))} + + ))} - {children} + {table.getRowModel().rows.map(row => ( + + {row.getVisibleCells().map(cell => ( + + ) + )} + + ))}
PropTypeDefaultDescription
+ {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext() + )} +
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
); }; - -export function PropTableRender({ groupsData }: PropTableRenderProps) { - return ( - <> - {groupsData.map(group => { - const [title] = Object.keys(group); - - return ( - <> - {title === "default" ? - - - : - - {title} - } - > - - - - - } - - ); - })} - - ); -} diff --git a/apps/docs/app/ui/components/propTable/propTable.css b/apps/docs/app/ui/components/propTable/propTable.css index 578471498..1de257c68 100644 --- a/apps/docs/app/ui/components/propTable/propTable.css +++ b/apps/docs/app/ui/components/propTable/propTable.css @@ -1,7 +1,49 @@ -.props__section { - margin-top: var(--hd-space-1); +.hd-props-table { + --hd-table-col-min-size: 5rem; + --hd-table-col-name-size: 20%; + --hd-table-col-type-size: 30%; + --hd-table-col-default-size: auto; + --hd-table-col-description-size: 30%; + + box-sizing: border-box; + text-indent: 0; + border-color: inherit; + border-collapse: collapse; +} + +.hd-props-table__section { + margin-block: var(--hd-space-05); +} + +.hd-props-table + .hd-props-table__section { + margin-block-start: var(--hd-space-1); +} + +.hd-props-table [data-rehype-pretty-code-figure] { + margin: 0; +} + +[class*="hd-props-table__col-"] { + min-width: var(--hd-table-col-min-size); + width: auto; +} + +.hd-props-table__col-name { + max-width: var(--hd-table-col-name-size); +} + +.hd-props-table__col-type { + max-width: var(--hd-table-col-type-size); +} + +.hd-props-table__col-default { + max-width: var(--hd-table-col-default-size); +} + +.hd-props-table__col-description { + max-width: var(--hd-table-col-description-size); } -.props__section .hd-collapsible__content { - margin-top: var(--hd-space-1); +.hd-props-table__col-description * { + font-size: 0.75rem; } diff --git a/apps/docs/components/collapsible/collapsible.css b/apps/docs/components/collapsible/collapsible.css index 6d0282a60..b4d703788 100644 --- a/apps/docs/components/collapsible/collapsible.css +++ b/apps/docs/components/collapsible/collapsible.css @@ -7,7 +7,7 @@ line-height: 1.35; color: var(--hd-color-neutral-text); display: flex; - width: 100%; + width: calc(100% + var(--hd-space-2) * 2); justify-content: space-between; align-items: center; padding-block: var(--hd-space-2); diff --git a/apps/docs/components/highlightCode/HighlightCode.tsx b/apps/docs/components/highlightCode/HighlightCode.tsx index 630efca28..1188779b9 100644 --- a/apps/docs/components/highlightCode/HighlightCode.tsx +++ b/apps/docs/components/highlightCode/HighlightCode.tsx @@ -1,6 +1,6 @@ "use client"; -import { useEffect, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; import * as prod from "react/jsx-runtime"; import { unified } from "unified"; import rehypeReact from "rehype-react"; @@ -43,5 +43,7 @@ function useProcessor(text: string, variant?: Variant) { } export default function HighlightCode({ code, variant = "default" }: HighlightCodeProps) { - return useProcessor(code, variant); + const processor = useProcessor(code, variant); + + return useMemo(() => processor, [processor]); } diff --git a/apps/docs/components/table/table.css b/apps/docs/components/table/table.css index 195fba20c..b0c769ddf 100644 --- a/apps/docs/components/table/table.css +++ b/apps/docs/components/table/table.css @@ -23,6 +23,10 @@ min-width: 3rem; } +.hd-table__th { + padding: var(--hd-space-1); +} + .hd-table__cell { font-family: var(--hd-mono-font-family); font-size: 0.8125rem; diff --git a/apps/docs/package.json b/apps/docs/package.json index 2de47632f..337c51e58 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -15,6 +15,7 @@ "build:componentData": "tsx scripts/generateComponentData.mts" }, "dependencies": { + "@tanstack/react-table": "^8.16.0", "clsx": "2.1.0", "contentlayer": "0.3.4", "next": "14.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 267c72f35..6aba2e43b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,16 +22,16 @@ importers: version: 4.41.3 '@pmmmwh/react-refresh-webpack-plugin': specifier: 0.5.11 - version: 0.5.11(react-refresh@0.14.0)(webpack@5.91.0) + version: 0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) '@storybook/addon-a11y': specifier: 8.0.2 version: 8.0.2 '@storybook/addon-essentials': specifier: 8.0.2 - version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-interactions': specifier: 8.0.2 - version: 8.0.2(@types/jest@29.5.12)(jest@29.7.0) + version: 8.0.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@storybook/addon-links': specifier: 8.0.2 version: 8.0.2(react@18.2.0) @@ -40,22 +40,22 @@ importers: version: 8.0.2 '@storybook/addon-webpack5-compiler-swc': specifier: 1.0.2 - version: 1.0.2(webpack@5.91.0) + version: 1.0.2(@swc/helpers@0.5.7)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) '@storybook/blocks': specifier: 8.0.2 - version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/react': specifier: 8.0.2 - version: 8.0.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + version: 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) '@storybook/react-webpack5': specifier: 8.0.2 - version: 8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + version: 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) '@storybook/test': specifier: 8.0.2 - version: 8.0.2(@types/jest@29.5.12)(jest@29.7.0) + version: 8.0.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@storybook/test-runner': specifier: 0.17.0 - version: 0.17.0(@types/node@20.11.30)(ts-node@10.9.2) + version: 0.17.0(@swc/helpers@0.5.7)(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) '@types/jest': specifier: 29.5.12 version: 29.5.12 @@ -64,10 +64,10 @@ importers: version: 20.11.30 '@workleap/eslint-plugin': specifier: 3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + version: 3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) '@workleap/stylelint-configs': specifier: 2.0.3 - version: 2.0.3(prettier@3.2.5)(stylelint@16.3.1) + version: 2.0.3(prettier@3.2.5)(stylelint@16.3.1(typescript@5.4.2)) '@workleap/typescript-configs': specifier: 3.0.2 version: 3.0.2(typescript@5.4.2) @@ -85,7 +85,7 @@ importers: version: 0.8.0(eslint@8.57.0)(typescript@5.4.2) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) plop: specifier: 4.0.1 version: 4.0.1 @@ -106,25 +106,25 @@ importers: version: 0.14.0 react-router-dom: specifier: 6.22.3 - version: 6.22.3(react-dom@18.2.0)(react@18.2.0) + version: 6.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) storybook: specifier: 8.0.2 - version: 8.0.2(react-dom@18.2.0)(react@18.2.0) + version: 8.0.2(@babel/preset-env@7.24.4(@babel/core@7.24.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) stylelint: specifier: 16.3.1 version: 16.3.1(typescript@5.4.2) stylelint-config-clean-order: specifier: 5.4.2 - version: 5.4.2(stylelint@16.3.1) + version: 5.4.2(stylelint@16.3.1(typescript@5.4.2)) stylelint-use-logical: specifier: 2.1.2 - version: 2.1.2(stylelint@16.3.1) + version: 2.1.2(stylelint@16.3.1(typescript@5.4.2)) ts-jest: specifier: 29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.2) + version: 29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.20.2)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.2) + version: 10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2) tsconfig-paths-webpack-plugin: specifier: 4.1.0 version: 4.1.0 @@ -134,6 +134,9 @@ importers: apps/docs: dependencies: + '@tanstack/react-table': + specifier: ^8.16.0 + version: 8.16.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) clsx: specifier: 2.1.0 version: 2.1.0 @@ -142,25 +145,25 @@ importers: version: 0.3.4(esbuild@0.20.2) next: specifier: 14.1.4 - version: 14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) + version: 14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) next-contentlayer: specifier: 0.3.4 - version: 0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.1.4)(react-dom@18.2.0)(react@18.2.0) + version: 0.3.4(contentlayer@0.3.4(esbuild@0.20.2))(esbuild@0.20.2)(next@14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) next-mdx-remote: specifier: ^4.4.1 - version: 4.4.1(react-dom@18.2.0)(react@18.2.0) + version: 4.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 react-aria-components: specifier: 1.1.1 - version: 1.1.1(react-dom@18.2.0)(react@18.2.0) + version: 1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-dom: specifier: 18.2.0 version: 18.2.0(react@18.2.0) react-toggle: specifier: 4.1.3 - version: 4.1.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + version: 4.1.3(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rehype-parse: specifier: ^9.0.0 version: 9.0.0 @@ -179,7 +182,7 @@ importers: devDependencies: '@codesandbox/sandpack-react': specifier: ^2.13.5 - version: 2.13.8(@lezer/common@1.2.1)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.8(@lezer/common@1.2.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@hopper-ui/components': specifier: workspace:* version: link:../../packages/components @@ -191,22 +194,22 @@ importers: version: link:../../packages/tokens '@storybook/addon-essentials': specifier: 8.0.2 - version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-interactions': specifier: 8.0.2 - version: 8.0.2(@types/jest@29.5.12)(jest@29.7.0) + version: 8.0.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@storybook/addon-links': specifier: 8.0.2 version: 8.0.2(react@18.2.0) '@storybook/blocks': specifier: 8.0.2 - version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/nextjs': specifier: 8.0.2 - version: 8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(next@14.1.4)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(webpack@5.91.0) + version: 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(next@14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@3.13.1)(typescript@5.4.2)(webpack-hot-middleware@2.26.1)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) '@storybook/react': specifier: 8.0.2 - version: 8.0.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + version: 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) '@storybook/testing-library': specifier: 0.2.2 version: 0.2.2 @@ -239,7 +242,7 @@ importers: version: 1.3.0 storybook: specifier: 8.0.2 - version: 8.0.2(react-dom@18.2.0)(react@18.2.0) + version: 8.0.2(@babel/preset-env@7.24.4(@babel/core@7.24.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) tsconfig-paths-webpack-plugin: specifier: 4.1.0 version: 4.1.0 @@ -251,7 +254,7 @@ importers: dependencies: '@hopper-ui/icons': specifier: '*' - version: link:../icons + version: 1.10.1(@hopper-ui/styled-system@packages+styled-system)(react-aria-components@1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': specifier: ^3.23.2 version: 3.23.2(react@18.2.0) @@ -270,13 +273,13 @@ importers: version: 0.5.7 '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.4.8) + version: 0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)) '@testing-library/jest-dom': specifier: 6.4.2 - version: 6.4.2(@types/jest@29.5.12)(jest@29.7.0) + version: 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@testing-library/react': specifier: 15.0.2 - version: 15.0.2(react-dom@18.2.0)(react@18.2.0) + version: 15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.0.0) @@ -294,13 +297,13 @@ importers: version: 18.0.7 '@workleap/eslint-plugin': specifier: 3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + version: 3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.4.8)(@swc/helpers@0.5.7)(@swc/jest@0.2.36)(browserslist@4.23.0) + version: 2.2.3(@swc/core@1.4.8(@swc/helpers@0.5.7))(@swc/helpers@0.5.7)(@swc/jest@0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)))(browserslist@4.23.0) '@workleap/tsup-configs': specifier: 3.0.4 - version: 3.0.4(tsup@8.0.2)(typescript@5.4.2) + version: 3.0.4(tsup@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2))(typescript@5.4.2) '@workleap/typescript-configs': specifier: 3.0.2 version: 3.0.2(typescript@5.4.2) @@ -309,7 +312,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -324,10 +327,10 @@ importers: version: 18.2.0 react-aria: specifier: 3.32.1 - version: 3.32.1(react-dom@18.2.0)(react@18.2.0) + version: 3.32.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-aria-components: specifier: 1.1.1 - version: 1.1.1(react-dom@18.2.0)(react@18.2.0) + version: 1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-dom: specifier: 18.2.0 version: 18.2.0(react@18.2.0) @@ -336,10 +339,10 @@ importers: version: 18.2.0(react@18.2.0) ts-jest: specifier: 29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.4.2) + version: 29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.19.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) tsup: specifier: 8.0.2 - version: 8.0.2(@swc/core@1.4.8)(postcss@8.4.37)(ts-node@10.9.2)(typescript@5.4.2) + version: 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2) typescript: specifier: 5.4.2 version: 5.4.2 @@ -367,10 +370,10 @@ importers: version: 8.1.0(typescript@5.4.2) '@svgr/plugin-jsx': specifier: 8.1.0 - version: 8.1.0(@svgr/core@8.1.0) + version: 8.1.0(@svgr/core@8.1.0(typescript@5.4.2)) '@svgr/plugin-svgo': specifier: 8.1.0 - version: 8.1.0(@svgr/core@8.1.0)(typescript@5.4.2) + version: 8.1.0(@svgr/core@8.1.0(typescript@5.4.2))(typescript@5.4.2) '@swc/core': specifier: 1.4.8 version: 1.4.8(@swc/helpers@0.5.7) @@ -379,13 +382,13 @@ importers: version: 0.5.7 '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.4.8) + version: 0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)) '@testing-library/jest-dom': specifier: 6.4.2 - version: 6.4.2(@types/jest@29.5.12)(jest@29.7.0) + version: 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@testing-library/react': specifier: 15.0.2 - version: 15.0.2(react-dom@18.2.0)(react@18.2.0) + version: 15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/jest': specifier: 29.5.12 version: 29.5.12 @@ -403,10 +406,10 @@ importers: version: 18.0.7 '@workleap/eslint-plugin': specifier: 3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + version: 3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.4.8)(@swc/helpers@0.5.7)(@swc/jest@0.2.36)(browserslist@4.23.0) + version: 2.2.3(@swc/core@1.4.8(@swc/helpers@0.5.7))(@swc/helpers@0.5.7)(@swc/jest@0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)))(browserslist@4.23.0) '@workleap/typescript-configs': specifier: 3.0.2 version: 3.0.2(typescript@5.4.2) @@ -415,7 +418,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -424,19 +427,19 @@ importers: version: 3.2.0 react-aria-components: specifier: 1.1.1 - version: 1.1.1(react-dom@18.2.0)(react@18.2.0) + version: 1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-test-renderer: specifier: 18.2.0 version: 18.2.0(react@18.2.0) ts-jest: specifier: 29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.4.2) + version: 29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.19.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.2) + version: 10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2) tsup: specifier: 8.0.2 - version: 8.0.2(@swc/core@1.4.8)(postcss@8.4.37)(ts-node@10.9.2)(typescript@5.4.2) + version: 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2) tsx: specifier: 4.7.1 version: 4.7.1 @@ -464,13 +467,13 @@ importers: version: 0.5.7 '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.4.8) + version: 0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)) '@testing-library/jest-dom': specifier: 6.4.2 - version: 6.4.2(@types/jest@29.5.12)(jest@29.7.0) + version: 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@testing-library/react': specifier: 15.0.2 - version: 15.0.2(react-dom@18.2.0)(react@18.2.0) + version: 15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/jest': specifier: 29.5.12 version: 29.5.12 @@ -485,13 +488,13 @@ importers: version: 18.0.7 '@workleap/eslint-plugin': specifier: 3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + version: 3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.4.8)(@swc/helpers@0.5.7)(@swc/jest@0.2.36)(browserslist@4.23.0) + version: 2.2.3(@swc/core@1.4.8(@swc/helpers@0.5.7))(@swc/helpers@0.5.7)(@swc/jest@0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)))(browserslist@4.23.0) '@workleap/tsup-configs': specifier: 3.0.4 - version: 3.0.4(tsup@8.0.2)(typescript@5.4.2) + version: 3.0.4(tsup@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2))(typescript@5.4.2) '@workleap/typescript-configs': specifier: 3.0.2 version: 3.0.2(typescript@5.4.2) @@ -500,7 +503,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -524,10 +527,10 @@ importers: version: 18.2.0(react@18.2.0) ts-jest: specifier: 29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.4.2) + version: 29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.19.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) tsup: specifier: 8.0.2 - version: 8.0.2(@swc/core@1.4.8)(postcss@8.4.37)(ts-node@10.9.2)(typescript@5.4.2) + version: 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2) typescript: specifier: 5.4.2 version: 5.4.2 @@ -542,7 +545,7 @@ importers: version: 0.5.7 '@swc/jest': specifier: 0.2.36 - version: 0.2.36(@swc/core@1.4.8) + version: 0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)) '@types/jest': specifier: 29.5.12 version: 29.5.12 @@ -551,10 +554,10 @@ importers: version: 20.11.30 '@workleap/eslint-plugin': specifier: 3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + version: 3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) '@workleap/swc-configs': specifier: 2.2.3 - version: 2.2.3(@swc/core@1.4.8)(@swc/helpers@0.5.7)(@swc/jest@0.2.36)(browserslist@4.23.0) + version: 2.2.3(@swc/core@1.4.8(@swc/helpers@0.5.7))(@swc/helpers@0.5.7)(@swc/jest@0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)))(browserslist@4.23.0) '@workleap/typescript-configs': specifier: 3.0.2 version: 3.0.2(typescript@5.4.2) @@ -566,7 +569,7 @@ importers: version: 6.0.2 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) rehype-parse: specifier: 9.0.0 version: 9.0.0 @@ -590,10 +593,10 @@ importers: version: 20.11.30 '@workleap/eslint-plugin': specifier: 3.1.0 - version: 3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + version: 3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) '@workleap/tsup-configs': specifier: 3.0.4 - version: 3.0.4(tsup@8.0.2)(typescript@5.4.2) + version: 3.0.4(tsup@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2))(typescript@5.4.2) '@workleap/typescript-configs': specifier: 3.0.2 version: 3.0.2(typescript@5.4.2) @@ -614,7 +617,7 @@ importers: version: 8.57.0 eslint-plugin-import: specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) packages: @@ -1852,6 +1855,14 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@hopper-ui/icons@1.10.1': + resolution: {integrity: sha512-Di6elCjPfb7u1RaNGYJq+ZOMYCm/D9Nwn1EDIpl9lLE/vnKFl/cY5CS1kViGEXr53ccnBGlf1mFPddWbZLrUbg==} + peerDependencies: + '@hopper-ui/styled-system': ^1 + react: ^18 + react-aria-components: ^1.1.0 + react-dom: ^18 + '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -3597,6 +3608,17 @@ packages: '@swc/types@0.1.6': resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} + '@tanstack/react-table@8.16.0': + resolution: {integrity: sha512-rKRjnt8ostqN2fercRVOIH/dq7MAmOENCMvVlKx6P9Iokhh6woBGnIZEkqsY/vEJf1jN3TqLOb34xQGLVRuhAg==} + engines: {node: '>=12'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + '@tanstack/table-core@8.16.0': + resolution: {integrity: sha512-dCG8vQGk4js5v88/k83tTedWOwjGnIyONrKpHpfmSJB8jwFHl8GSu1sBBxbtACVAPtAQgwNxl0rw1d3RqRM1Tg==} + engines: {node: '>=12'} + '@testing-library/dom@10.0.0': resolution: {integrity: sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g==} engines: {node: '>=18'} @@ -11642,7 +11664,7 @@ snapshots: outvariant: 1.4.0 static-browser-server: 1.0.3 - '@codesandbox/sandpack-react@2.13.8(@lezer/common@1.2.1)(react-dom@18.2.0)(react@18.2.0)': + '@codesandbox/sandpack-react@2.13.8(@lezer/common@1.2.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@codemirror/autocomplete': 6.16.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)(@lezer/common@1.2.1) '@codemirror/commands': 6.3.3 @@ -11697,7 +11719,6 @@ snapshots: '@contentlayer/utils': 0.3.4 camel-case: 4.1.2 comment-json: 4.2.3 - esbuild: 0.20.2 gray-matter: 4.0.3 mdx-bundler: 9.2.1(esbuild@0.20.2) rehype-stringify: 9.0.4 @@ -11707,6 +11728,8 @@ snapshots: source-map-support: 0.5.21 type-fest: 3.13.1 unified: 10.1.2 + optionalDependencies: + esbuild: 0.20.2 transitivePeerDependencies: - '@effect-ts/otel-node' - supports-color @@ -11744,9 +11767,9 @@ snapshots: '@contentlayer/utils@0.3.4': dependencies: '@effect-ts/core': 0.60.5 - '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/sdk-trace-base@1.23.0) - '@effect-ts/otel-exporter-trace-otlp-grpc': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/exporter-trace-otlp-grpc@0.39.1)(@opentelemetry/sdk-trace-base@1.23.0) - '@effect-ts/otel-sdk-trace-node': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/sdk-trace-base@1.23.0)(@opentelemetry/sdk-trace-node@1.23.0) + '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0)) + '@effect-ts/otel-exporter-trace-otlp-grpc': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/exporter-trace-otlp-grpc@0.39.1(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0)) + '@effect-ts/otel-sdk-trace-node': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-node@1.23.0(@opentelemetry/api@1.8.0)) '@js-temporal/polyfill': 0.4.4 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) @@ -11773,7 +11796,7 @@ snapshots: '@csstools/css-tokenizer@2.2.4': {} - '@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4)': + '@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)': dependencies: '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) '@csstools/css-tokenizer': 2.2.4 @@ -11790,25 +11813,25 @@ snapshots: dependencies: '@effect-ts/system': 0.57.5 - '@effect-ts/otel-exporter-trace-otlp-grpc@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/exporter-trace-otlp-grpc@0.39.1)(@opentelemetry/sdk-trace-base@1.23.0)': + '@effect-ts/otel-exporter-trace-otlp-grpc@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/exporter-trace-otlp-grpc@0.39.1(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0))': dependencies: '@effect-ts/core': 0.60.5 - '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/sdk-trace-base@1.23.0) + '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0)) '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.39.1(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) - '@effect-ts/otel-sdk-trace-node@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/sdk-trace-base@1.23.0)(@opentelemetry/sdk-trace-node@1.23.0)': + '@effect-ts/otel-sdk-trace-node@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-node@1.23.0(@opentelemetry/api@1.8.0))': dependencies: '@effect-ts/core': 0.60.5 - '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/sdk-trace-base@1.23.0) + '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0)) '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-trace-node': 1.23.0(@opentelemetry/api@1.8.0) - '@effect-ts/otel@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0)(@opentelemetry/sdk-trace-base@1.23.0)': + '@effect-ts/otel@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0))(@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0))': dependencies: '@effect-ts/core': 0.60.5 '@opentelemetry/api': 1.8.0 @@ -12038,6 +12061,15 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 + '@hopper-ui/icons@1.10.1(@hopper-ui/styled-system@packages+styled-system)(react-aria-components@1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@hopper-ui/styled-system': link:packages/styled-system + '@react-aria/utils': 3.23.2(react@18.2.0) + clsx: 2.1.0 + react: 18.2.0 + react-aria-components: 1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -12099,7 +12131,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2)': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -12113,7 +12145,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -12808,7 +12840,7 @@ snapshots: '@pkgr/core@0.1.1': {} - '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(webpack@5.91.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2))': dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 @@ -12820,7 +12852,10 @@ snapshots: react-refresh: 0.14.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) + optionalDependencies: + type-fest: 3.13.1 + webpack-hot-middleware: 2.26.1 '@protobufjs/aspromise@1.1.2': {} @@ -12848,15 +12883,17 @@ snapshots: '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.67)(react@18.2.0)': dependencies: '@babel/runtime': 7.24.4 - '@types/react': 18.2.67 react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.67 '@radix-ui/react-slot@1.0.2(@types/react@18.2.67)(react@18.2.0)': dependencies: '@babel/runtime': 7.24.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.67 '@react-aria/breadcrumbs@3.5.11(react@18.2.0)': dependencies: @@ -12879,7 +12916,7 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/calendar@3.5.6(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/calendar@3.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@internationalized/date': 3.5.2 '@react-aria/i18n': 3.10.2(react@18.2.0) @@ -12909,14 +12946,14 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/combobox@3.8.4(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/combobox@3.8.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/i18n': 3.10.2(react@18.2.0) - '@react-aria/listbox': 3.11.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/listbox': 3.11.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/live-announcer': 3.3.2 - '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) - '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/textfield': 3.14.3(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/collections': 3.10.5(react@18.2.0) @@ -12929,7 +12966,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/datepicker@3.9.3(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/datepicker@3.9.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@internationalized/date': 3.5.2 '@internationalized/number': 3.5.1 @@ -12939,7 +12976,7 @@ snapshots: '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/label': 3.7.6(react@18.2.0) - '@react-aria/spinbutton': 3.6.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/spinbutton': 3.6.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/datepicker': 3.9.2(react@18.2.0) '@react-stately/form': 3.0.1(react@18.2.0) @@ -12952,10 +12989,10 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/dialog@3.5.12(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/dialog@3.5.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-types/dialog': 3.5.8(react@18.2.0) '@react-types/shared': 3.22.1(react@18.2.0) @@ -12963,13 +13000,13 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/dnd@3.5.3(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/dnd@3.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@internationalized/string': 3.2.1 '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/live-announcer': 3.3.2 - '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/dnd': 3.2.8(react@18.2.0) '@react-types/button': 3.9.2(react@18.2.0) @@ -12996,13 +13033,13 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/grid@3.8.8(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/grid@3.8.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/live-announcer': 3.3.2 - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/collections': 3.10.5(react@18.2.0) '@react-stately/grid': 3.8.5(react@18.2.0) @@ -13015,13 +13052,13 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/gridlist@3.7.5(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/gridlist@3.7.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/grid': 3.8.8(react-dom@18.2.0)(react@18.2.0) + '@react-aria/grid': 3.8.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/list': 3.10.3(react@18.2.0) '@react-types/shared': 3.22.1(react@18.2.0) @@ -13066,11 +13103,11 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/listbox@3.11.5(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/listbox@3.11.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/label': 3.7.6(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/collections': 3.10.5(react@18.2.0) '@react-stately/list': 3.10.3(react@18.2.0) @@ -13084,13 +13121,13 @@ snapshots: dependencies: '@swc/helpers': 0.5.7 - '@react-aria/menu@3.13.1(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/menu@3.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/collections': 3.10.5(react@18.2.0) '@react-stately/menu': 3.6.1(react@18.2.0) @@ -13110,11 +13147,11 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/numberfield@3.11.1(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/numberfield@3.11.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/spinbutton': 3.6.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/spinbutton': 3.6.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/textfield': 3.14.3(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/form': 3.0.1(react@18.2.0) @@ -13126,7 +13163,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/overlays@3.21.1(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/overlays@3.21.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) @@ -13178,15 +13215,15 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/select@3.14.3(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/select@3.14.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/form': 3.0.3(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/label': 3.7.6(react@18.2.0) - '@react-aria/listbox': 3.11.5(react-dom@18.2.0)(react@18.2.0) - '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/listbox': 3.11.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-aria/visually-hidden': 3.8.10(react@18.2.0) '@react-stately/select': 3.6.2(react@18.2.0) @@ -13197,7 +13234,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/selection@3.17.5(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/selection@3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) @@ -13229,7 +13266,7 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/spinbutton@3.6.3(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/spinbutton@3.6.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/live-announcer': 3.3.2 @@ -13253,10 +13290,10 @@ snapshots: '@swc/helpers': 0.5.7 react: 18.2.0 - '@react-aria/table@3.13.5(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/table@3.13.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/grid': 3.8.8(react-dom@18.2.0)(react@18.2.0) + '@react-aria/grid': 3.8.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/live-announcer': 3.3.2 @@ -13274,11 +13311,11 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/tabs@3.8.5(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/tabs@3.8.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/focus': 3.16.2(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/tabs': 3.6.4(react@18.2.0) '@react-types/shared': 3.22.1(react@18.2.0) @@ -13287,13 +13324,13 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/tag@3.3.3(react-dom@18.2.0)(react@18.2.0)': + '@react-aria/tag@3.3.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@react-aria/gridlist': 3.7.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/gridlist': 3.7.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/label': 3.7.6(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/list': 3.10.3(react@18.2.0) '@react-types/button': 3.9.2(react@18.2.0) @@ -13817,9 +13854,9 @@ snapshots: memoizerific: 1.11.3 ts-dedent: 2.2.0 - '@storybook/addon-controls@8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)': + '@storybook/addon-controls@8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/blocks': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -13833,16 +13870,16 @@ snapshots: dependencies: '@babel/core': 7.24.4 '@mdx-js/react': 3.0.1(@types/react@18.2.67)(react@18.2.0) - '@storybook/blocks': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 8.0.2 - '@storybook/components': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/csf-plugin': 8.0.2 '@storybook/csf-tools': 8.0.2 '@storybook/global': 5.0.0 '@storybook/node-logger': 8.0.2 '@storybook/preview-api': 8.0.2 - '@storybook/react-dom-shim': 8.0.2(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/react-dom-shim': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/types': 8.0.2 '@types/react': 18.2.67 fs-extra: 11.2.0 @@ -13855,11 +13892,11 @@ snapshots: - encoding - supports-color - '@storybook/addon-essentials@8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)': + '@storybook/addon-essentials@8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/addon-actions': 8.0.2 '@storybook/addon-backgrounds': 8.0.2 - '@storybook/addon-controls': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-controls': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-docs': 8.0.2 '@storybook/addon-highlight': 8.0.2 '@storybook/addon-measure': 8.0.2 @@ -13867,7 +13904,7 @@ snapshots: '@storybook/addon-toolbars': 8.0.2 '@storybook/addon-viewport': 8.0.2 '@storybook/core-common': 8.0.2 - '@storybook/manager-api': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 8.0.2 '@storybook/preview-api': 8.0.2 ts-dedent: 2.2.0 @@ -13882,11 +13919,11 @@ snapshots: dependencies: '@storybook/global': 5.0.0 - '@storybook/addon-interactions@8.0.2(@types/jest@29.5.12)(jest@29.7.0)': + '@storybook/addon-interactions@8.0.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))': dependencies: '@storybook/global': 5.0.0 '@storybook/instrumenter': 8.0.2 - '@storybook/test': 8.0.2(@types/jest@29.5.12)(jest@29.7.0) + '@storybook/test': 8.0.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@storybook/types': 8.0.2 polished: 4.3.1 ts-dedent: 2.2.0 @@ -13901,8 +13938,9 @@ snapshots: dependencies: '@storybook/csf': 0.1.4 '@storybook/global': 5.0.0 - react: 18.2.0 ts-dedent: 2.2.0 + optionalDependencies: + react: 18.2.0 '@storybook/addon-mdx-gfm@8.0.2': dependencies: @@ -13928,27 +13966,27 @@ snapshots: dependencies: memoizerific: 1.11.3 - '@storybook/addon-webpack5-compiler-swc@1.0.2(webpack@5.91.0)': + '@storybook/addon-webpack5-compiler-swc@1.0.2(@swc/helpers@0.5.7)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2))': dependencies: '@swc/core': 1.4.8(@swc/helpers@0.5.7) - swc-loader: 0.2.6(@swc/core@1.4.8)(webpack@5.91.0) + swc-loader: 0.2.6(@swc/core@1.4.8(@swc/helpers@0.5.7))(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) transitivePeerDependencies: - '@swc/helpers' - webpack - '@storybook/blocks@8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)': + '@storybook/blocks@8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/channels': 8.0.2 '@storybook/client-logger': 8.0.2 - '@storybook/components': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-events': 8.0.2 '@storybook/csf': 0.1.4 '@storybook/docs-tools': 8.0.2 '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/icons': 1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/manager-api': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/preview-api': 8.0.2 - '@storybook/theming': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/types': 8.0.2 '@types/lodash': 4.17.0 color-convert: 2.0.1 @@ -13957,13 +13995,14 @@ snapshots: markdown-to-jsx: 7.3.2(react@18.2.0) memoizerific: 1.11.3 polished: 4.3.1 - react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0) - react-dom: 18.2.0(react@18.2.0) + react-colorful: 5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) telejson: 7.2.0 tocbot: 4.25.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@types/react' - encoding @@ -13989,7 +14028,7 @@ snapshots: - encoding - supports-color - '@storybook/builder-webpack5@8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(typescript@5.4.2)': + '@storybook/builder-webpack5@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(typescript@5.4.2)': dependencies: '@storybook/channels': 8.0.2 '@storybook/client-logger': 8.0.2 @@ -14005,27 +14044,28 @@ snapshots: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.2.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.91.0) + css-loader: 6.11.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) es-module-lexer: 1.5.0 express: 4.19.2 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.2)(webpack@5.91.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.0(webpack@5.91.0) + html-webpack-plugin: 5.6.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) magic-string: 0.30.9 path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.0 - style-loader: 3.3.4(webpack@5.91.0) - terser-webpack-plugin: 5.3.10(@swc/core@1.4.8)(esbuild@0.20.2)(webpack@5.91.0) + style-loader: 3.3.4(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) ts-dedent: 2.2.0 - typescript: 5.4.2 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) - webpack-dev-middleware: 6.1.3(webpack@5.91.0) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) + webpack-dev-middleware: 6.1.3(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 + optionalDependencies: + typescript: 5.4.2 transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -14051,7 +14091,7 @@ snapshots: telejson: 7.2.0 tiny-invariant: 1.3.3 - '@storybook/cli@8.0.2(react-dom@18.2.0)(react@18.2.0)': + '@storybook/cli@8.0.2(@babel/preset-env@7.24.4(@babel/core@7.24.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/core': 7.24.4 '@babel/types': 7.24.0 @@ -14059,7 +14099,7 @@ snapshots: '@storybook/codemod': 8.0.2 '@storybook/core-common': 8.0.2 '@storybook/core-events': 8.0.2 - '@storybook/core-server': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-server': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/csf-tools': 8.0.2 '@storybook/node-logger': 8.0.2 '@storybook/telemetry': 8.0.2 @@ -14078,7 +14118,7 @@ snapshots: get-npm-tarball-url: 2.1.0 giget: 1.2.3 globby: 11.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.24.4) + jscodeshift: 0.15.2(@babel/preset-env@7.24.4(@babel/core@7.24.4)) leven: 3.1.0 ora: 5.4.1 prettier: 3.2.5 @@ -14118,7 +14158,7 @@ snapshots: '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 globby: 11.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.24.4) + jscodeshift: 0.15.2(@babel/preset-env@7.24.4(@babel/core@7.24.4)) lodash: 4.17.21 prettier: 3.2.5 recast: 0.23.6 @@ -14126,14 +14166,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/components@8.0.2(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)': + '@storybook/components@8.0.2(@types/react@18.2.67)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) '@storybook/client-logger': 8.0.2 '@storybook/csf': 0.1.4 '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/icons': 1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/types': 8.0.2 memoizerific: 1.11.3 react: 18.2.0 @@ -14218,7 +14258,7 @@ snapshots: dependencies: ts-dedent: 2.2.0 - '@storybook/core-server@8.0.2(react-dom@18.2.0)(react@18.2.0)': + '@storybook/core-server@8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.24.4 @@ -14232,7 +14272,7 @@ snapshots: '@storybook/docs-mdx': 3.0.0 '@storybook/global': 5.0.0 '@storybook/manager': 8.0.2 - '@storybook/manager-api': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 8.0.2 '@storybook/preview-api': 8.0.2 '@storybook/telemetry': 8.0.2 @@ -14342,7 +14382,7 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.2.9(react-dom@18.2.0)(react@18.2.0)': + '@storybook/icons@1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14357,7 +14397,7 @@ snapshots: '@vitest/utils': 1.5.0 util: 0.12.5 - '@storybook/manager-api@8.0.2(react-dom@18.2.0)(react@18.2.0)': + '@storybook/manager-api@8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/channels': 8.0.2 '@storybook/client-logger': 8.0.2 @@ -14365,7 +14405,7 @@ snapshots: '@storybook/csf': 0.1.4 '@storybook/global': 5.0.0 '@storybook/router': 8.0.2 - '@storybook/theming': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/types': 8.0.2 dequal: 2.0.3 lodash: 4.17.21 @@ -14379,7 +14419,7 @@ snapshots: '@storybook/manager@8.0.2': {} - '@storybook/nextjs@8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(next@14.1.4)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(webpack@5.91.0)': + '@storybook/nextjs@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(next@14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@3.13.1)(typescript@5.4.2)(webpack-hot-middleware@2.26.1)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2))': dependencies: '@babel/core': 7.24.4 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4) @@ -14394,43 +14434,44 @@ snapshots: '@babel/preset-react': 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) '@babel/runtime': 7.24.4 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(webpack@5.91.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) '@storybook/addon-actions': 8.0.2 - '@storybook/builder-webpack5': 8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(typescript@5.4.2) + '@storybook/builder-webpack5': 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(typescript@5.4.2) '@storybook/core-common': 8.0.2 '@storybook/core-events': 8.0.2 '@storybook/node-logger': 8.0.2 - '@storybook/preset-react-webpack': 8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@storybook/preset-react-webpack': 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) '@storybook/preview-api': 8.0.2 - '@storybook/react': 8.0.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@storybook/react': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) '@storybook/types': 8.0.2 '@types/node': 18.19.31 '@types/semver': 7.5.8 - babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0) - css-loader: 6.11.0(webpack@5.91.0) + babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) + css-loader: 6.11.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) find-up: 5.0.0 fs-extra: 11.2.0 image-size: 1.1.1 loader-utils: 3.2.1 - next: 14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.91.0) + next: 14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) pnp-webpack-plugin: 1.7.0(typescript@5.4.2) postcss: 8.4.37 - postcss-loader: 7.3.4(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0) + postcss-loader: 7.3.4(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-refresh: 0.14.0 resolve-url-loader: 5.0.0 - sass-loader: 12.6.0(webpack@5.91.0) + sass-loader: 12.6.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) semver: 7.6.0 sharp: 0.32.6 - style-loader: 3.3.4(webpack@5.91.0) + style-loader: 3.3.4(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.2.0) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.1.0 + optionalDependencies: typescript: 5.4.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -14455,13 +14496,13 @@ snapshots: '@storybook/node-logger@8.0.8': {} - '@storybook/preset-react-webpack@8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)': + '@storybook/preset-react-webpack@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2)': dependencies: '@storybook/core-webpack': 8.0.2 '@storybook/docs-tools': 8.0.2 '@storybook/node-logger': 8.0.2 - '@storybook/react': 8.0.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.2)(webpack@5.91.0) + '@storybook/react': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) '@types/node': 18.19.31 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -14473,8 +14514,9 @@ snapshots: resolve: 1.22.8 semver: 7.6.0 tsconfig-paths: 4.2.0 + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) + optionalDependencies: typescript: 5.4.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) transitivePeerDependencies: - '@swc/core' - encoding @@ -14519,7 +14561,7 @@ snapshots: '@storybook/preview@8.0.2': {} - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.2)(webpack@5.91.0)': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2))': dependencies: debug: 4.3.4 endent: 2.1.0 @@ -14529,23 +14571,24 @@ snapshots: react-docgen-typescript: 2.2.2(typescript@5.4.2) tslib: 2.6.2 typescript: 5.4.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) transitivePeerDependencies: - supports-color - '@storybook/react-dom-shim@8.0.2(react-dom@18.2.0)(react@18.2.0)': + '@storybook/react-dom-shim@8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/react-webpack5@8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)': + '@storybook/react-webpack5@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2)': dependencies: - '@storybook/builder-webpack5': 8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(typescript@5.4.2) - '@storybook/preset-react-webpack': 8.0.2(@swc/core@1.4.8)(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) - '@storybook/react': 8.0.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@storybook/builder-webpack5': 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(typescript@5.4.2) + '@storybook/preset-react-webpack': 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) + '@storybook/react': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2) '@types/node': 18.19.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - '@rspack/core' @@ -14556,13 +14599,13 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react@8.0.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)': + '@storybook/react@8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2)': dependencies: '@storybook/client-logger': 8.0.2 '@storybook/docs-tools': 8.0.2 '@storybook/global': 5.0.0 '@storybook/preview-api': 8.0.2 - '@storybook/react-dom-shim': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/react-dom-shim': 8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/types': 8.0.2 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 @@ -14576,12 +14619,13 @@ snapshots: prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-element-to-jsx-string: 15.0.0(react-dom@18.2.0)(react@18.2.0) + react-element-to-jsx-string: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) semver: 7.6.0 ts-dedent: 2.2.0 type-fest: 2.19.0 - typescript: 5.4.2 util-deprecate: 1.0.2 + optionalDependencies: + typescript: 5.4.2 transitivePeerDependencies: - encoding - supports-color @@ -14606,7 +14650,7 @@ snapshots: - encoding - supports-color - '@storybook/test-runner@0.17.0(@types/node@20.11.30)(ts-node@10.9.2)': + '@storybook/test-runner@0.17.0(@swc/helpers@0.5.7)(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))': dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -14618,16 +14662,16 @@ snapshots: '@storybook/csf-tools': 8.0.8 '@storybook/preview-api': 8.0.8 '@swc/core': 1.4.8(@swc/helpers@0.5.7) - '@swc/jest': 0.2.36(@swc/core@1.4.8) + '@swc/jest': 0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)) expect-playwright: 0.8.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-circus: 29.7.0 jest-environment-node: 29.7.0 jest-junit: 16.0.0 - jest-playwright-preset: 4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0) + jest-playwright-preset: 4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) jest-runner: 29.7.0 jest-serializer-html: 7.1.0 - jest-watch-typeahead: 2.2.2(jest@29.7.0) + jest-watch-typeahead: 2.2.2(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) playwright: 1.43.1 transitivePeerDependencies: - '@swc/helpers' @@ -14639,14 +14683,14 @@ snapshots: - supports-color - ts-node - '@storybook/test@8.0.2(@types/jest@29.5.12)(jest@29.7.0)': + '@storybook/test@8.0.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))': dependencies: '@storybook/client-logger': 8.0.2 '@storybook/core-events': 8.0.2 '@storybook/instrumenter': 8.0.2 '@storybook/preview-api': 8.0.2 '@testing-library/dom': 9.3.4 - '@testing-library/jest-dom': 6.4.2(@types/jest@29.5.12)(jest@29.7.0) + '@testing-library/jest-dom': 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) '@vitest/expect': 1.3.1 '@vitest/spy': 1.5.0 @@ -14665,12 +14709,13 @@ snapshots: '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) ts-dedent: 2.2.0 - '@storybook/theming@8.0.2(react-dom@18.2.0)(react@18.2.0)': + '@storybook/theming@8.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@storybook/client-logger': 8.0.2 '@storybook/global': 5.0.0 memoizerific: 1.11.3 + optionalDependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14746,7 +14791,7 @@ snapshots: '@babel/types': 7.24.0 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0)': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.4.2))': dependencies: '@babel/core': 7.24.4 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.4) @@ -14756,7 +14801,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0)(typescript@5.4.2)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.4.2))(typescript@5.4.2)': dependencies: '@svgr/core': 8.1.0(typescript@5.4.2) cosmiconfig: 8.3.6(typescript@5.4.2) @@ -14773,8 +14818,8 @@ snapshots: '@babel/preset-react': 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) '@svgr/core': 8.1.0(typescript@5.4.2) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.4.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.4.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.4.2))(typescript@5.4.2) transitivePeerDependencies: - supports-color - typescript @@ -14812,7 +14857,6 @@ snapshots: '@swc/core@1.4.8(@swc/helpers@0.5.7)': dependencies: '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.7 '@swc/types': 0.1.6 optionalDependencies: '@swc/core-darwin-arm64': 1.4.8 @@ -14825,6 +14869,7 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.4.8 '@swc/core-win32-ia32-msvc': 1.4.8 '@swc/core-win32-x64-msvc': 1.4.8 + '@swc/helpers': 0.5.7 '@swc/counter@0.1.3': {} @@ -14845,7 +14890,7 @@ snapshots: dependencies: tslib: 2.6.2 - '@swc/jest@0.2.36(@swc/core@1.4.8)': + '@swc/jest@0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7))': dependencies: '@jest/create-cache-key-function': 29.7.0 '@swc/core': 1.4.8(@swc/helpers@0.5.7) @@ -14856,6 +14901,14 @@ snapshots: dependencies: '@swc/counter': 0.1.3 + '@tanstack/react-table@8.16.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@tanstack/table-core': 8.16.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@tanstack/table-core@8.16.0': {} + '@testing-library/dom@10.0.0': dependencies: '@babel/code-frame': 7.24.2 @@ -14878,20 +14931,22 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.2(@types/jest@29.5.12)(jest@29.7.0)': + '@testing-library/jest-dom@6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))': dependencies: '@adobe/css-tools': 4.3.3 '@babel/runtime': 7.24.4 - '@types/jest': 29.5.12 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) lodash: 4.17.21 redent: 3.0.0 + optionalDependencies: + '@jest/globals': 29.7.0 + '@types/jest': 29.5.12 + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) - '@testing-library/react@15.0.2(react-dom@18.2.0)(react@18.2.0)': + '@testing-library/react@15.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.4 '@testing-library/dom': 10.0.0 @@ -15176,7 +15231,7 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) @@ -15191,6 +15246,7 @@ snapshots: natural-compare: 1.4.0 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15203,6 +15259,7 @@ snapshots: '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15215,6 +15272,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.7.0 debug: 4.3.4 eslint: 8.57.0 + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15241,6 +15299,7 @@ snapshots: debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15260,6 +15319,7 @@ snapshots: is-glob: 4.0.3 semver: 7.6.0 tsutils: 3.21.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15274,6 +15334,7 @@ snapshots: minimatch: 9.0.3 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15288,6 +15349,7 @@ snapshots: minimatch: 9.0.4 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.2) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -15444,13 +15506,11 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@workleap/eslint-plugin@3.1.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2)': + '@workleap/eslint-plugin@3.1.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2)': dependencies: - '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint@8.57.0) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-mdx: 3.1.5(eslint@8.57.0) eslint-plugin-package-json: 0.10.4(eslint@8.57.0)(jsonc-eslint-parser@2.4.0) @@ -15459,6 +15519,9 @@ snapshots: eslint-plugin-storybook: 0.8.0(eslint@8.57.0)(typescript@5.4.2) eslint-plugin-testing-library: 6.2.2(eslint@8.57.0)(typescript@5.4.2) jsonc-eslint-parser: 2.4.0 + optionalDependencies: + '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) + eslint: 8.57.0 typescript: 5.4.2 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -15466,23 +15529,25 @@ snapshots: - jest - supports-color - '@workleap/stylelint-configs@2.0.3(prettier@3.2.5)(stylelint@16.3.1)': + '@workleap/stylelint-configs@2.0.3(prettier@3.2.5)(stylelint@16.3.1(typescript@5.4.2))': dependencies: + stylelint-config-standard: 36.0.0(stylelint@16.3.1(typescript@5.4.2)) + stylelint-prettier: 5.0.0(prettier@3.2.5)(stylelint@16.3.1(typescript@5.4.2)) + optionalDependencies: prettier: 3.2.5 stylelint: 16.3.1(typescript@5.4.2) - stylelint-config-standard: 36.0.0(stylelint@16.3.1) - stylelint-prettier: 5.0.0(prettier@3.2.5)(stylelint@16.3.1) - '@workleap/swc-configs@2.2.3(@swc/core@1.4.8)(@swc/helpers@0.5.7)(@swc/jest@0.2.36)(browserslist@4.23.0)': + '@workleap/swc-configs@2.2.3(@swc/core@1.4.8(@swc/helpers@0.5.7))(@swc/helpers@0.5.7)(@swc/jest@0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)))(browserslist@4.23.0)': dependencies: '@swc/core': 1.4.8(@swc/helpers@0.5.7) '@swc/helpers': 0.5.7 - '@swc/jest': 0.2.36(@swc/core@1.4.8) + optionalDependencies: + '@swc/jest': 0.2.36(@swc/core@1.4.8(@swc/helpers@0.5.7)) browserslist: 4.23.0 - '@workleap/tsup-configs@3.0.4(tsup@8.0.2)(typescript@5.4.2)': + '@workleap/tsup-configs@3.0.4(tsup@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2))(typescript@5.4.2)': dependencies: - tsup: 8.0.2(@swc/core@1.4.8)(postcss@8.4.37)(ts-node@10.9.2)(typescript@5.4.2) + tsup: 8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2) typescript: 5.4.2 '@workleap/typescript-configs@3.0.2(typescript@5.4.2)': @@ -15570,7 +15635,7 @@ snapshots: indent-string: 5.0.0 ajv-formats@2.1.1(ajv@8.12.0): - dependencies: + optionalDependencies: ajv: 8.12.0 ajv-keywords@3.5.2(ajv@6.12.6): @@ -15823,12 +15888,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0): + babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: '@babel/core': 7.24.4 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) babel-plugin-istanbul@6.1.1: dependencies: @@ -16468,6 +16533,7 @@ snapshots: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + optionalDependencies: typescript: 5.4.2 cosmiconfig@9.0.0(typescript@5.4.2): @@ -16476,6 +16542,7 @@ snapshots: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 + optionalDependencies: typescript: 5.4.2 create-ecdh@4.0.4: @@ -16500,13 +16567,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2): + create-jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -16561,7 +16628,7 @@ snapshots: css-functions-list@3.2.1: {} - css-loader@6.11.0(webpack@5.91.0): + css-loader@6.11.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: icss-utils: 5.1.0(postcss@8.4.37) postcss: 8.4.37 @@ -16571,7 +16638,8 @@ snapshots: postcss-modules-values: 4.0.0(postcss@8.4.37) postcss-value-parser: 4.2.0 semver: 7.6.0 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + optionalDependencies: + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) css-select@4.3.0: dependencies: @@ -17231,11 +17299,12 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - eslint-import-resolver-webpack @@ -17249,13 +17318,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.3 is-core-module: 2.13.1 @@ -17286,28 +17355,29 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -17316,7 +17386,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -17326,17 +17396,20 @@ snapshots: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.2): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2): dependencies: - '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) transitivePeerDependencies: - supports-color - typescript @@ -17868,7 +17941,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.2)(webpack@5.91.0): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: '@babel/code-frame': 7.24.2 chalk: 4.1.2 @@ -17883,7 +17956,7 @@ snapshots: semver: 7.6.0 tapable: 2.2.1 typescript: 5.4.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) form-data@4.0.0: dependencies: @@ -18448,14 +18521,15 @@ snapshots: html-void-elements@2.0.1: {} - html-webpack-plugin@5.6.0(webpack@5.91.0): + html-webpack-plugin@5.6.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + optionalDependencies: + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) htmlparser2@3.10.1: dependencies: @@ -19002,16 +19076,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.11.30)(ts-node@10.9.2): + jest-cli@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -19021,12 +19095,11 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.11.30)(ts-node@10.9.2): + jest-config@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)): dependencies: '@babel/core': 7.24.4 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 babel-jest: 29.7.0(@babel/core@7.24.4) chalk: 4.1.2 ci-info: 3.9.0 @@ -19046,7 +19119,9 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.2) + optionalDependencies: + '@types/node': 20.11.30 + ts-node: 10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -19158,10 +19233,10 @@ snapshots: '@types/node': 20.11.30 jest-util: 29.7.0 - jest-playwright-preset@4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0): + jest-playwright-preset@4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))): dependencies: expect-playwright: 0.8.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-circus: 29.7.0 jest-environment-node: 29.7.0 jest-process-manager: 0.4.0 @@ -19175,7 +19250,7 @@ snapshots: - supports-color jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - dependencies: + optionalDependencies: jest-resolve: 29.7.0 jest-process-manager@0.4.0: @@ -19315,11 +19390,11 @@ snapshots: leven: 3.1.0 pretty-format: 29.7.0 - jest-watch-typeahead@2.2.2(jest@29.7.0): + jest-watch-typeahead@2.2.2(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))): dependencies: ansi-escapes: 6.2.1 chalk: 5.3.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-regex-util: 29.6.3 jest-watcher: 29.7.0 slash: 5.1.0 @@ -19350,12 +19425,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2): + jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -19387,7 +19462,7 @@ snapshots: jsbi@4.3.0: {} - jscodeshift@0.15.2(@babel/preset-env@7.24.4): + jscodeshift@0.15.2(@babel/preset-env@7.24.4(@babel/core@7.24.4)): dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -19396,7 +19471,6 @@ snapshots: '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) '@babel/register': 7.23.7(@babel/core@7.24.4) @@ -19410,6 +19484,8 @@ snapshots: recast: 0.23.6 temp: 0.8.4 write-file-atomic: 2.4.3 + optionalDependencies: + '@babel/preset-env': 7.24.4(@babel/core@7.24.4) transitivePeerDependencies: - supports-color @@ -20663,12 +20739,12 @@ snapshots: neo-async@2.6.2: {} - next-contentlayer@0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.1.4)(react-dom@18.2.0)(react@18.2.0): + next-contentlayer@0.3.4(contentlayer@0.3.4(esbuild@0.20.2))(esbuild@0.20.2)(next@14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@contentlayer/core': 0.3.4(esbuild@0.20.2) '@contentlayer/utils': 0.3.4 contentlayer: 0.3.4(esbuild@0.20.2) - next: 14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -20677,7 +20753,7 @@ snapshots: - markdown-wasm - supports-color - next-mdx-remote@4.4.1(react-dom@18.2.0)(react@18.2.0): + next-mdx-remote@4.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@mdx-js/mdx': 2.3.0 '@mdx-js/react': 2.3.0(react@18.2.0) @@ -20690,10 +20766,9 @@ snapshots: next-tick@1.1.0: {} - next@14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0): + next@14.1.4(@babel/core@7.24.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@next/env': 14.1.4 - '@opentelemetry/api': 1.8.0 '@swc/helpers': 0.5.2 busboy: 1.6.0 caniuse-lite: 1.0.30001610 @@ -20712,6 +20787,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.1.4 '@next/swc-win32-ia32-msvc': 14.1.4 '@next/swc-win32-x64-msvc': 14.1.4 + '@opentelemetry/api': 1.8.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -20769,7 +20845,7 @@ snapshots: title-case: 3.0.3 upper-case: 2.0.2 - node-polyfill-webpack-plugin@2.0.1(webpack@5.91.0): + node-polyfill-webpack-plugin@2.0.1(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -20796,7 +20872,7 @@ snapshots: url: 0.11.3 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) node-preload@0.2.1: dependencies: @@ -21295,20 +21371,21 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-load-config@4.0.2(postcss@8.4.37)(ts-node@10.9.2): + postcss-load-config@4.0.2(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)): dependencies: lilconfig: 3.1.1 - postcss: 8.4.37 - ts-node: 10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.2) yaml: 2.4.1 + optionalDependencies: + postcss: 8.4.37 + ts-node: 10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2) - postcss-loader@7.3.4(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0): + postcss-loader@7.3.4(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: cosmiconfig: 8.3.6(typescript@5.4.2) jiti: 1.21.0 postcss: 8.4.37 semver: 7.6.0 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) transitivePeerDependencies: - typescript @@ -21566,13 +21643,13 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-aria-components@1.1.1(react-dom@18.2.0)(react@18.2.0): + react-aria-components@1.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@internationalized/date': 3.5.2 '@internationalized/string': 3.2.1 '@react-aria/focus': 3.16.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/toolbar': 3.0.0-beta.3(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) '@react-stately/menu': 3.6.1(react@18.2.0) @@ -21585,45 +21662,45 @@ snapshots: '@swc/helpers': 0.5.7 client-only: 0.0.1 react: 18.2.0 - react-aria: 3.32.1(react-dom@18.2.0)(react@18.2.0) + react-aria: 3.32.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-dom: 18.2.0(react@18.2.0) react-stately: 3.30.1(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) - react-aria@3.32.1(react-dom@18.2.0)(react@18.2.0): + react-aria@3.32.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@internationalized/string': 3.2.1 '@react-aria/breadcrumbs': 3.5.11(react@18.2.0) '@react-aria/button': 3.9.3(react@18.2.0) - '@react-aria/calendar': 3.5.6(react-dom@18.2.0)(react@18.2.0) + '@react-aria/calendar': 3.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/checkbox': 3.14.1(react@18.2.0) - '@react-aria/combobox': 3.8.4(react-dom@18.2.0)(react@18.2.0) - '@react-aria/datepicker': 3.9.3(react-dom@18.2.0)(react@18.2.0) - '@react-aria/dialog': 3.5.12(react-dom@18.2.0)(react@18.2.0) - '@react-aria/dnd': 3.5.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/combobox': 3.8.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/datepicker': 3.9.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/dialog': 3.5.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/dnd': 3.5.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/gridlist': 3.7.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/gridlist': 3.7.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/i18n': 3.10.2(react@18.2.0) '@react-aria/interactions': 3.21.1(react@18.2.0) '@react-aria/label': 3.7.6(react@18.2.0) '@react-aria/link': 3.6.5(react@18.2.0) - '@react-aria/listbox': 3.11.5(react-dom@18.2.0)(react@18.2.0) - '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/listbox': 3.11.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/meter': 3.4.11(react@18.2.0) - '@react-aria/numberfield': 3.11.1(react-dom@18.2.0)(react@18.2.0) - '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/numberfield': 3.11.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/progress': 3.4.11(react@18.2.0) '@react-aria/radio': 3.10.2(react@18.2.0) '@react-aria/searchfield': 3.7.3(react@18.2.0) - '@react-aria/select': 3.14.3(react-dom@18.2.0)(react@18.2.0) - '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/select': 3.14.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/separator': 3.3.11(react@18.2.0) '@react-aria/slider': 3.7.6(react@18.2.0) '@react-aria/ssr': 3.9.2(react@18.2.0) '@react-aria/switch': 3.6.2(react@18.2.0) - '@react-aria/table': 3.13.5(react-dom@18.2.0)(react@18.2.0) - '@react-aria/tabs': 3.8.5(react-dom@18.2.0)(react@18.2.0) - '@react-aria/tag': 3.3.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/table': 3.13.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/tabs': 3.8.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/tag': 3.3.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/textfield': 3.14.3(react@18.2.0) '@react-aria/tooltip': 3.7.2(react@18.2.0) '@react-aria/utils': 3.23.2(react@18.2.0) @@ -21632,7 +21709,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0): + react-colorful@5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -21671,7 +21748,7 @@ snapshots: react: 18.2.0 scheduler: 0.23.0 - react-element-to-jsx-string@15.0.0(react-dom@18.2.0)(react@18.2.0): + react-element-to-jsx-string@15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@base2/pretty-print-object': 1.0.1 is-plain-object: 5.0.0 @@ -21689,7 +21766,7 @@ snapshots: react-refresh@0.14.0: {} - react-router-dom@6.22.3(react-dom@18.2.0)(react@18.2.0): + react-router-dom@6.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@remix-run/router': 1.15.3 react: 18.2.0 @@ -21741,7 +21818,7 @@ snapshots: react-shallow-renderer: 16.15.0(react@18.2.0) scheduler: 0.23.0 - react-toggle@4.1.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): + react-toggle@4.1.3(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: classnames: 2.5.1 prop-types: 15.8.1 @@ -22145,11 +22222,11 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@12.6.0(webpack@5.91.0): + sass-loader@12.6.0(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) saxes@6.0.0: dependencies: @@ -22430,9 +22507,9 @@ snapshots: store2@2.14.3: {} - storybook@8.0.2(react-dom@18.2.0)(react@18.2.0): + storybook@8.0.2(@babel/preset-env@7.24.4(@babel/core@7.24.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@storybook/cli': 8.0.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/cli': 8.0.2(@babel/preset-env@7.24.4(@babel/core@7.24.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@babel/preset-env' - bufferutil @@ -22598,9 +22675,9 @@ snapshots: lodash: 4.17.21 tinycolor2: 1.6.0 - style-loader@3.3.4(webpack@5.91.0): + style-loader@3.3.4(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) style-mod@4.1.2: {} @@ -22614,37 +22691,38 @@ snapshots: styled-jsx@5.1.1(@babel/core@7.24.4)(react@18.2.0): dependencies: - '@babel/core': 7.24.4 client-only: 0.0.1 react: 18.2.0 + optionalDependencies: + '@babel/core': 7.24.4 - stylelint-config-clean-order@5.4.2(stylelint@16.3.1): + stylelint-config-clean-order@5.4.2(stylelint@16.3.1(typescript@5.4.2)): dependencies: stylelint: 16.3.1(typescript@5.4.2) - stylelint-order: 6.0.4(stylelint@16.3.1) + stylelint-order: 6.0.4(stylelint@16.3.1(typescript@5.4.2)) - stylelint-config-recommended@14.0.0(stylelint@16.3.1): + stylelint-config-recommended@14.0.0(stylelint@16.3.1(typescript@5.4.2)): dependencies: stylelint: 16.3.1(typescript@5.4.2) - stylelint-config-standard@36.0.0(stylelint@16.3.1): + stylelint-config-standard@36.0.0(stylelint@16.3.1(typescript@5.4.2)): dependencies: stylelint: 16.3.1(typescript@5.4.2) - stylelint-config-recommended: 14.0.0(stylelint@16.3.1) + stylelint-config-recommended: 14.0.0(stylelint@16.3.1(typescript@5.4.2)) - stylelint-order@6.0.4(stylelint@16.3.1): + stylelint-order@6.0.4(stylelint@16.3.1(typescript@5.4.2)): dependencies: postcss: 8.4.37 postcss-sorting: 8.0.2(postcss@8.4.37) stylelint: 16.3.1(typescript@5.4.2) - stylelint-prettier@5.0.0(prettier@3.2.5)(stylelint@16.3.1): + stylelint-prettier@5.0.0(prettier@3.2.5)(stylelint@16.3.1(typescript@5.4.2)): dependencies: prettier: 3.2.5 prettier-linter-helpers: 1.0.0 stylelint: 16.3.1(typescript@5.4.2) - stylelint-use-logical@2.1.2(stylelint@16.3.1): + stylelint-use-logical@2.1.2(stylelint@16.3.1(typescript@5.4.2)): dependencies: stylelint: 16.3.1(typescript@5.4.2) @@ -22652,7 +22730,7 @@ snapshots: dependencies: '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) '@csstools/css-tokenizer': 2.2.4 - '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4) + '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4) '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) '@dual-bundle/import-meta-resolve': 4.0.0 balanced-match: 2.0.0 @@ -22738,11 +22816,11 @@ snapshots: csso: 5.0.5 picocolors: 1.0.0 - swc-loader@0.2.6(@swc/core@1.4.8)(webpack@5.91.0): + swc-loader@0.2.6(@swc/core@1.4.8(@swc/helpers@0.5.7))(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: '@swc/core': 1.4.8(@swc/helpers@0.5.7) '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) symbol-tree@3.2.4: {} @@ -22821,16 +22899,17 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.3.10(@swc/core@1.4.8)(esbuild@0.20.2)(webpack@5.91.0): + terser-webpack-plugin@5.3.10(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: '@jridgewell/trace-mapping': 0.3.25 - '@swc/core': 1.4.8(@swc/helpers@0.5.7) - esbuild: 0.20.2 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.30.3 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) + optionalDependencies: + '@swc/core': 1.4.8(@swc/helpers@0.5.7) + esbuild: 0.20.2 terser@5.30.3: dependencies: @@ -22930,13 +23009,11 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.19.12)(jest@29.7.0)(typescript@5.4.2): + ts-jest@29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.19.12)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2): dependencies: - '@babel/core': 7.24.4 bs-logger: 0.2.6 - esbuild: 0.19.12 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -22944,14 +23021,17 @@ snapshots: semver: 7.6.0 typescript: 5.4.2 yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.4 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) + esbuild: 0.19.12 - ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.2): + ts-jest@29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.20.2)(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)))(typescript@5.4.2): dependencies: - '@babel/core': 7.24.4 bs-logger: 0.2.6 - esbuild: 0.20.2 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -22959,11 +23039,15 @@ snapshots: semver: 7.6.0 typescript: 5.4.2 yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.4 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) + esbuild: 0.20.2 - ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.11.30)(typescript@5.4.2): + ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.4.8(@swc/helpers@0.5.7) '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -22978,11 +23062,13 @@ snapshots: typescript: 5.4.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.4.8(@swc/helpers@0.5.7) ts-pattern@4.3.0: {} ts-pnp@1.2.0(typescript@5.4.2): - dependencies: + optionalDependencies: typescript: 5.4.2 tsconfig-paths-webpack-plugin@4.1.0: @@ -23008,9 +23094,8 @@ snapshots: tslib@2.6.2: {} - tsup@8.0.2(@swc/core@1.4.8)(postcss@8.4.37)(ts-node@10.9.2)(typescript@5.4.2): + tsup@8.0.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2))(typescript@5.4.2): dependencies: - '@swc/core': 1.4.8(@swc/helpers@0.5.7) bundle-require: 4.0.2(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 @@ -23019,13 +23104,15 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss: 8.4.37 - postcss-load-config: 4.0.2(postcss@8.4.37)(ts-node@10.9.2) + postcss-load-config: 4.0.2(postcss@8.4.37)(ts-node@10.9.2(@swc/core@1.4.8(@swc/helpers@0.5.7))(@types/node@20.11.30)(typescript@5.4.2)) resolve-from: 5.0.0 rollup: 4.14.3 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 + optionalDependencies: + '@swc/core': 1.4.8(@swc/helpers@0.5.7) + postcss: 8.4.37 typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -23526,14 +23613,15 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@6.1.3(webpack@5.91.0): + webpack-dev-middleware@6.1.3(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.20.2) + optionalDependencies: + webpack: 5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2) webpack-hot-middleware@2.26.1: dependencies: @@ -23547,7 +23635,7 @@ snapshots: webpack-virtual-modules@0.6.1: {} - webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.20.2): + webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -23570,7 +23658,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.8)(esbuild@0.20.2)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)(webpack@5.91.0(@swc/core@1.4.8(@swc/helpers@0.5.7))(esbuild@0.20.2)) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: From b88c9c6494888ca1bde453cc398caa7990ef66c9 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 7 May 2024 14:39:02 -0400 Subject: [PATCH 05/14] feat(Doc): responsive view --- .../app/ui/components/heading/heading.css | 3 +- .../app/ui/components/linkList/LinkList.tsx | 3 + .../app/ui/components/linkList/linkList.css | 13 ++++ .../components/propTable/PropTableRender.tsx | 33 +++++++--- .../app/ui/components/propTable/propTable.css | 65 ++++++++++++++----- apps/docs/components/title/title.css | 18 +++-- 6 files changed, 96 insertions(+), 39 deletions(-) create mode 100644 apps/docs/app/ui/components/linkList/linkList.css diff --git a/apps/docs/app/ui/components/heading/heading.css b/apps/docs/app/ui/components/heading/heading.css index db38e7638..d5aeff918 100644 --- a/apps/docs/app/ui/components/heading/heading.css +++ b/apps/docs/app/ui/components/heading/heading.css @@ -9,6 +9,5 @@ } .hd-heading__links { - display: flex; - gap: var(--hd-space-1); + margin-inline: calc(var(--hd-space-1) * -1); } diff --git a/apps/docs/app/ui/components/linkList/LinkList.tsx b/apps/docs/app/ui/components/linkList/LinkList.tsx index 469107ece..c002fd0e6 100644 --- a/apps/docs/app/ui/components/linkList/LinkList.tsx +++ b/apps/docs/app/ui/components/linkList/LinkList.tsx @@ -1,8 +1,11 @@ "use client"; + import clsx from "clsx"; import Button from "@/components/button/Button.tsx"; import { Icon, GithubIcon, NpmIcon, ExternalLinkIcon, type IconProps } from "@/components/icon"; +import "./linkList.css"; + export interface Links { name: string; src: string; diff --git a/apps/docs/app/ui/components/linkList/linkList.css b/apps/docs/app/ui/components/linkList/linkList.css new file mode 100644 index 000000000..91be8759c --- /dev/null +++ b/apps/docs/app/ui/components/linkList/linkList.css @@ -0,0 +1,13 @@ +.hd-link-list { + --hd-link-list-direction: column; + + display: flex; + flex-direction: var(--hd-link-list-direction); + align-items: flex-start; + gap: var(--hd-space-1); + + @media screen and (width >= 37.5rem) { + --hd-link-list-direction: row; + } +} + diff --git a/apps/docs/app/ui/components/propTable/PropTableRender.tsx b/apps/docs/app/ui/components/propTable/PropTableRender.tsx index 0f798ab5b..c9ea28b52 100644 --- a/apps/docs/app/ui/components/propTable/PropTableRender.tsx +++ b/apps/docs/app/ui/components/propTable/PropTableRender.tsx @@ -64,7 +64,7 @@ export const PropTableRender = ({ items }: { items: Item[] }) => { return ( - + {table.getHeaderGroups().map(headerGroup => ( {headerGroup.headers.map(header => ( @@ -80,16 +80,29 @@ export const PropTableRender = ({ items }: { items: Item[] }) => { ))} - + {table.getRowModel().rows.map(row => ( - - {row.getVisibleCells().map(cell => ( - - ) + + {row.getVisibleCells().map(cell => { + let headerValue = ""; + if (typeof cell.column.columnDef.header === "function") { + // TODO find a correct way to get the header value + // @ts-expect-error header needs an argument + headerValue = cell.column.columnDef.header(); + } + + const lastCell = row.getVisibleCells().indexOf(cell) === row.getVisibleCells().length - 1; + const emptyCell = cell.getValue() === "" || cell.getValue() === null || cell.getValue() === undefined; + + return ( + + ); + } )} ))} diff --git a/apps/docs/app/ui/components/propTable/propTable.css b/apps/docs/app/ui/components/propTable/propTable.css index 1de257c68..1f86cfee4 100644 --- a/apps/docs/app/ui/components/propTable/propTable.css +++ b/apps/docs/app/ui/components/propTable/propTable.css @@ -1,14 +1,30 @@ .hd-props-table { - --hd-table-col-min-size: 5rem; - --hd-table-col-name-size: 20%; - --hd-table-col-type-size: 30%; - --hd-table-col-default-size: auto; - --hd-table-col-description-size: 30%; + --hd-props-table-header-display: none; + --hd-props-table-row-display: block; + --hd-props-table-row-border: var(--hd-border-size) solid var(--hd-color-neutral-border); + --hd-props-table-row-padding: var(--hd-space-2); + --hd-props-table-cell-display: flex; + --hd-props-table-cell-border: none; + --hd-props-table-cell-label-display: inline-block; + --hd-props-table-cell-padding-block: var(--hd-space-1); + --hd-props-table-cell-padding-inline: 0; + --hd-props-table-cell-description-font-size: 0.875rem; box-sizing: border-box; text-indent: 0; border-color: inherit; border-collapse: collapse; + + @media screen and (width >= 64rem) { + --hd-props-table-header-display: table-header-group; + --hd-props-table-row-display: table-row; + --hd-props-table-cell-label-display: none; + --hd-props-table-cell-display: table-cell; + --hd-props-table-row-padding: 0; + --hd-props-table-cell-padding-block: var(--hd-space-1); + --hd-props-table-cell-padding-inline: var(--hd-space-1); + --hd-props-table-cell-description-font-size: 0.875rem; + } } .hd-props-table__section { @@ -23,27 +39,42 @@ margin: 0; } -[class*="hd-props-table__col-"] { - min-width: var(--hd-table-col-min-size); - width: auto; +.hd-props-table__thead { + display: var(--hd-props-table-header-display); +} + +.hd-props-table__tbody { + vertical-align: top; } -.hd-props-table__col-name { - max-width: var(--hd-table-col-name-size); +.hd-props-table__row { + display: var(--hd-props-table-row-display); + border-bottom: var(--hd-props-table-row-border); + padding-block: var(--hd-props-table-row-padding); } -.hd-props-table__col-type { - max-width: var(--hd-table-col-type-size); +.hd-props-table__cell { + display: var(--hd-props-table-cell-display); + flex-flow: row nowrap; + gap: var(--hd-space-1); } -.hd-props-table__col-default { - max-width: var(--hd-table-col-default-size); +[data-column]::before { + display: var(--hd-props-table-cell-label-display); + content: attr(data-column); + flex: 0 0 5rem; + font-family: var(--hd-default-font-family); + font-size: 0.875rem; + font-weight: 700; } -.hd-props-table__col-description { - max-width: var(--hd-table-col-description-size); +.hd-props-table__cell.hd-table__cell { + padding-block: var(--hd-props-table-cell-padding-block); + padding-inline: var(--hd-props-table-cell-padding-inline); + border-bottom: var(--hd-props-table-cell-border); } .hd-props-table__col-description * { - font-size: 0.75rem; + font-size: var(--hd-props-table-cell-description-font-size); } + diff --git a/apps/docs/components/title/title.css b/apps/docs/components/title/title.css index c28ec9f2e..a5c2861ff 100644 --- a/apps/docs/components/title/title.css +++ b/apps/docs/components/title/title.css @@ -1,9 +1,9 @@ .hd-title { - --hd-title-font-family: var(--hd-default-font-family); + --hd-title-font-family: var(--hd-default-font-family); - font-family: var(--hd-title-font-family); - line-height: 1; - margin-block: 0; + font-family: var(--hd-title-font-family); + line-height: 1; + margin-block: 0; } .hd-title--level1 { @@ -34,14 +34,12 @@ .hd-title-link { position: relative; display: inline; - padding-left: 2ch; - margin-left: -2ch; } -.hd-title-link::before { +.hd-title-link::after { content: "#"; position: absolute; - left: 0; + left: calc(100% + 1ch); font-size: 1em; line-height: inherit; color: var(--hd-color-neutral-text-weak); @@ -49,7 +47,7 @@ transition: opacity 0.1s ease-in; } -.hd-title-link:hover::before, -.hd-title-link:focus::before { +.hd-title-link:hover::after, +.hd-title-link:focus::after { opacity: 1; } From d828db9abb9c182b179e02032f19b584a56706b6 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 7 May 2024 15:42:21 -0400 Subject: [PATCH 06/14] feat(Doc): update packages --- pnpm-lock.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34d937ab8..57cc5bedf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -140,6 +140,9 @@ importers: apps/docs: dependencies: + '@tanstack/react-table': + specifier: ^8.16.0 + version: 8.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: specifier: 2.1.1 version: 2.1.1 @@ -3505,6 +3508,17 @@ packages: '@swc/types@0.1.6': resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} + '@tanstack/react-table@8.16.0': + resolution: {integrity: sha512-rKRjnt8ostqN2fercRVOIH/dq7MAmOENCMvVlKx6P9Iokhh6woBGnIZEkqsY/vEJf1jN3TqLOb34xQGLVRuhAg==} + engines: {node: '>=12'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + '@tanstack/table-core@8.16.0': + resolution: {integrity: sha512-dCG8vQGk4js5v88/k83tTedWOwjGnIyONrKpHpfmSJB8jwFHl8GSu1sBBxbtACVAPtAQgwNxl0rw1d3RqRM1Tg==} + engines: {node: '>=12'} + '@testing-library/dom@10.1.0': resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} engines: {node: '>=18'} @@ -14301,6 +14315,14 @@ snapshots: dependencies: '@swc/counter': 0.1.3 + '@tanstack/react-table@8.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/table-core': 8.16.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@tanstack/table-core@8.16.0': {} + '@testing-library/dom@10.1.0': dependencies: '@babel/code-frame': 7.24.2 From fb88daa06f1d9b8d36df250fbfd67db46c32a622 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 7 May 2024 15:58:15 -0400 Subject: [PATCH 07/14] feat(Doc): fix lint --- apps/docs/package.json | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/apps/docs/package.json b/apps/docs/package.json index 1cc423da4..82bba4cdf 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -15,23 +15,22 @@ "build:componentData": "tsx scripts/generateComponentData.mts" }, "dependencies": { - "@tanstack/react-table": "^8.16.0", - "clsx": "2.1.0", - "clsx": "2.1.1", - "contentlayer": "0.3.4", - "next": "14.2.3", - "next-contentlayer": "0.3.4", - "next-mdx-remote": "^4.4.1", - "react": "18.3.1", - "react-aria-components": "1.2.0", - "react-dom": "18.3.1", - "react-toggle": "4.1.3", - "rehype-parse": "^9.0.0", - "rehype-pretty-code": "0.13.1", - "rehype-react": "^8.0.0", - "unified": "11.0.4", - "unist-util-visit": "5.0.0" - }, + "@tanstack/react-table": "^8.16.0", + "clsx": "2.1.0", + "contentlayer": "0.3.4", + "next": "14.2.3", + "next-contentlayer": "0.3.4", + "next-mdx-remote": "^4.4.1", + "react": "18.3.1", + "react-aria-components": "1.2.0", + "react-dom": "18.3.1", + "react-toggle": "4.1.3", + "rehype-parse": "^9.0.0", + "rehype-pretty-code": "0.13.1", + "rehype-react": "^8.0.0", + "unified": "11.0.4", + "unist-util-visit": "5.0.0" + }, "devDependencies": { "@codesandbox/sandpack-react": "^2.13.10", "@hopper-ui/components": "workspace:*", From 98e3ea57c1c21161aba3a8c51ea58ae9f7e840e9 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Tue, 7 May 2024 15:59:11 -0400 Subject: [PATCH 08/14] feat(Doc): fix lint --- apps/docs/package.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/apps/docs/package.json b/apps/docs/package.json index 82bba4cdf..553cf05be 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -15,22 +15,22 @@ "build:componentData": "tsx scripts/generateComponentData.mts" }, "dependencies": { - "@tanstack/react-table": "^8.16.0", - "clsx": "2.1.0", - "contentlayer": "0.3.4", - "next": "14.2.3", - "next-contentlayer": "0.3.4", - "next-mdx-remote": "^4.4.1", - "react": "18.3.1", - "react-aria-components": "1.2.0", - "react-dom": "18.3.1", - "react-toggle": "4.1.3", - "rehype-parse": "^9.0.0", - "rehype-pretty-code": "0.13.1", - "rehype-react": "^8.0.0", - "unified": "11.0.4", - "unist-util-visit": "5.0.0" - }, + "@tanstack/react-table": "^8.16.0", + "clsx": "2.1.1", + "contentlayer": "0.3.4", + "next": "14.2.3", + "next-contentlayer": "0.3.4", + "next-mdx-remote": "^4.4.1", + "react": "18.3.1", + "react-aria-components": "1.2.0", + "react-dom": "18.3.1", + "react-toggle": "4.1.3", + "rehype-parse": "^9.0.0", + "rehype-pretty-code": "0.13.1", + "rehype-react": "^8.0.0", + "unified": "11.0.4", + "unist-util-visit": "5.0.0" + }, "devDependencies": { "@codesandbox/sandpack-react": "^2.13.10", "@hopper-ui/components": "workspace:*", From a36ccb0e0c9a25351e2bbaed6b00882bd86ac8b8 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Wed, 8 May 2024 14:41:22 -0400 Subject: [PATCH 09/14] feat(Doc): code update following PR comment --- apps/docs/app/rehype.css | 2 +- .../app/ui/components/propTable/PropTable.tsx | 3 +-- apps/docs/datas/components/Button.json | 2 +- apps/docs/scripts/generateComponentData.mts | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/apps/docs/app/rehype.css b/apps/docs/app/rehype.css index aa8096960..64a30f397 100644 --- a/apps/docs/app/rehype.css +++ b/apps/docs/app/rehype.css @@ -70,7 +70,7 @@ code[data-theme*=' '] span { border-left-color: var(--hd-codeblock-line-highlighted-border-color); } -/* !* LINE NUMBERS *! */ +/* LINE NUMBERS */ [data-rehype-pretty-code-figure] code[data-line-numbers] { counter-reset: line; } diff --git a/apps/docs/app/ui/components/propTable/PropTable.tsx b/apps/docs/app/ui/components/propTable/PropTable.tsx index eca46c374..13d780ef1 100644 --- a/apps/docs/app/ui/components/propTable/PropTable.tsx +++ b/apps/docs/app/ui/components/propTable/PropTable.tsx @@ -32,13 +32,12 @@ const formatGroup = (groups: Groups[]) => { return { [key]: group[key].map(item => { const description = item.description; - const formatedDescription = description.replace(//g, ""); return { ...item, name: {item.name}, type: , - description: + description: }; }) }; diff --git a/apps/docs/datas/components/Button.json b/apps/docs/datas/components/Button.json index b61620afd..efdd2ddec 100644 --- a/apps/docs/datas/components/Button.json +++ b/apps/docs/datas/components/Button.json @@ -1 +1 @@ -[{"tags":{},"filePath":"/Users/franck.gaudin/Devel/DS/wl-hopper/packages/components/src/buttons/src/Button.tsx","description":"Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.\n\n[View Documentation](TODO)","displayName":"Button","methods":[],"props":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"form":{"defaultValue":null,"description":"The element to associate the button with.\nThe value of this attribute must be the id of a in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.2.67/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"groups":{"default":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"form":{"defaultValue":null,"description":"The element to associate the button with.\nThe value of this attribute must be the id of a in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}}},"events":{"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}}},"a11y":{"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.2_react@18.2.0/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.22.1_react@18.2.0/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}}},"layout":{"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.1.1_react-dom@18.2.0_react@18.2.0/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}}}}}] \ No newline at end of file +[{"tags":{},"filePath":"/Users/franck.gaudin/Devel/DS/wl-hopper/packages/components/src/buttons/src/Button.tsx","description":"Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.\n\n[View Documentation](TODO)","displayName":"Button","methods":[],"props":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"A button can show a loading indicator.","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"routerOptions":{"defaultValue":null,"description":"Options for the configured client side router.","name":"routerOptions","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"never"}},"form":{"defaultValue":null,"description":"The `` element to associate the button with.\nThe value of this attribute must be the id of a `` in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps & { defaultStyle: CSSProperties; }) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps & { defaultChildren: ReactNode; }) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps & { defaultClassName: string; }) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"groups":{"default":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"A button can show a loading indicator.","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"routerOptions":{"defaultValue":null,"description":"Options for the configured client side router.","name":"routerOptions","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"never"}},"form":{"defaultValue":null,"description":"The `` element to associate the button with.\nThe value of this attribute must be the id of a `` in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps & { defaultStyle: CSSProperties; }) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps & { defaultChildren: ReactNode; }) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps & { defaultClassName: string; }) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}}},"events":{"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}}},"a11y":{"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}}},"layout":{"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}}}}}] \ No newline at end of file diff --git a/apps/docs/scripts/generateComponentData.mts b/apps/docs/scripts/generateComponentData.mts index 9569590d6..f232362bb 100644 --- a/apps/docs/scripts/generateComponentData.mts +++ b/apps/docs/scripts/generateComponentData.mts @@ -59,9 +59,14 @@ function getFormattedData(data: ComponentDoc[]): ComponentDocWithGroups[] { // Add more groups here as needed }; + // Define the exceptions that should be added to a specific group + // The first element is the prop name and the second is the group key + const groupsExceptions = [["type", "default"], ["autoFocus", "default"]]; + return data.map(component => { // Destructure and ignore id and ref from component.props const {key, ref, ...props} = component.props; + console.log("autoFocus", props.type); // Initialize the groups const groups: Groups = { @@ -87,6 +92,19 @@ function getFormattedData(data: ComponentDoc[]): ComponentDocWithGroups[] { } }); + // Validates if the props that are in the groupsExceptions array then adds them to the corresponding group + groupsExceptions.forEach(([propName, groupKey]) => { + if (prop.name === propName && groups.hasOwnProperty(groupKey)) { + Object.entries(groups).forEach(([groupName, groupProps]) => { + if (groupProps.hasOwnProperty(propName)) { + groups[groupKey][propName] = groupProps[propName]; + delete groups[groupName][propName]; + added = true; + } + }); + } + }); + // If the prop wasn't added to any group, add it to the default group if (!added) { groups.default[key] = prop; From 8e21a95cb089b53c7bb022bad160fcc3ce6f0952 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Thu, 9 May 2024 08:12:50 -0400 Subject: [PATCH 10/14] feat(Doc): code update following PR comment --- apps/docs/scripts/generateComponentData.mts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/scripts/generateComponentData.mts b/apps/docs/scripts/generateComponentData.mts index f232362bb..89cbbe2b5 100644 --- a/apps/docs/scripts/generateComponentData.mts +++ b/apps/docs/scripts/generateComponentData.mts @@ -54,7 +54,7 @@ function getFormattedData(data: ComponentDoc[]): ComponentDocWithGroups[] { const groupsConfig: GroupsConfig = { events: "Events", - a11y: ["Aria", "Focusable"], + accessibility: ["Aria", "Focusable"], layout: "Slot", // Add more groups here as needed }; From 884cb2c69345a99ff3fa2449a176b49a095d1e5e Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Thu, 9 May 2024 08:13:47 -0400 Subject: [PATCH 11/14] feat(Doc): code update following PR comment --- apps/docs/datas/components/Button.json | 2 +- apps/docs/scripts/generateComponentData.mts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/docs/datas/components/Button.json b/apps/docs/datas/components/Button.json index efdd2ddec..5ae859e2b 100644 --- a/apps/docs/datas/components/Button.json +++ b/apps/docs/datas/components/Button.json @@ -1 +1 @@ -[{"tags":{},"filePath":"/Users/franck.gaudin/Devel/DS/wl-hopper/packages/components/src/buttons/src/Button.tsx","description":"Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.\n\n[View Documentation](TODO)","displayName":"Button","methods":[],"props":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"A button can show a loading indicator.","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"routerOptions":{"defaultValue":null,"description":"Options for the configured client side router.","name":"routerOptions","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"never"}},"form":{"defaultValue":null,"description":"The `` element to associate the button with.\nThe value of this attribute must be the id of a `` in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps & { defaultStyle: CSSProperties; }) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps & { defaultChildren: ReactNode; }) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps & { defaultClassName: string; }) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"groups":{"default":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"A button can show a loading indicator.","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"routerOptions":{"defaultValue":null,"description":"Options for the configured client side router.","name":"routerOptions","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"never"}},"form":{"defaultValue":null,"description":"The `` element to associate the button with.\nThe value of this attribute must be the id of a `` in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps & { defaultStyle: CSSProperties; }) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps & { defaultChildren: ReactNode; }) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps & { defaultClassName: string; }) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}}},"events":{"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}}},"a11y":{"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}}},"layout":{"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}}}}}] \ No newline at end of file +[{"tags":{},"filePath":"/Users/franck.gaudin/Devel/DS/wl-hopper/packages/components/src/buttons/src/Button.tsx","description":"Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.\n\n[View Documentation](TODO)","displayName":"Button","methods":[],"props":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"A button can show a loading indicator.","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"routerOptions":{"defaultValue":null,"description":"Options for the configured client side router.","name":"routerOptions","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"never"}},"form":{"defaultValue":null,"description":"The `` element to associate the button with.\nThe value of this attribute must be the id of a `` in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps & { defaultStyle: CSSProperties; }) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps & { defaultChildren: ReactNode; }) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps & { defaultClassName: string; }) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"ref":{"defaultValue":null,"description":"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}","name":"ref","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"RefAttributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"RefAttributes"}],"required":false,"type":{"name":"LegacyRef"}},"key":{"defaultValue":null,"description":"","name":"key","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"Attributes"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@types+react@18.3.1/node_modules/@types/react/index.d.ts","name":"Attributes"}],"required":false,"type":{"name":"Key"}}},"groups":{"default":{"variant":{"defaultValue":{"value":"\"primary\""},"description":"The visual style of the button.\n*","name":"variant","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"\"primary\" | \"secondary\" | \"danger\" | \"upsell\" | \"ghost-primary\" | \"ghost-secondary\" | \"ghost-danger\""}},"size":{"defaultValue":{"value":"\"md\""},"description":"A button can vary in size.","name":"size","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp<\"sm\" | \"md\">"}},"fluid":{"defaultValue":null,"description":"Whether or not the button takes up the width of its container.","name":"fluid","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"ResponsiveProp"}},"isLoading":{"defaultValue":null,"description":"A button can show a loading indicator.","name":"isLoading","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"href":{"defaultValue":null,"description":"A URL to link to. Setting this makes the component render an `a` tag instead of a `button`","name":"href","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"target":{"defaultValue":null,"description":"The target window for the link.","name":"target","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"rel":{"defaultValue":null,"description":"The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).","name":"rel","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"routerOptions":{"defaultValue":null,"description":"Options for the configured client side router.","name":"routerOptions","parent":{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/packages/components/src/buttons/src/Button.tsx","name":"ButtonProps"}],"required":false,"type":{"name":"never"}},"form":{"defaultValue":null,"description":"The `` element to associate the button with.\nThe value of this attribute must be the id of a `` in the same document.","name":"form","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"style":{"defaultValue":null,"description":"The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state.","name":"style","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"CSSProperties | ((values: ButtonRenderProps & { defaultStyle: CSSProperties; }) => CSSProperties)"}},"children":{"defaultValue":null,"description":"The children of the component. A function may be provided to alter the children based on component state.","name":"children","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"RenderProps"}],"required":false,"type":{"name":"ReactNode | ((values: ButtonRenderProps & { defaultChildren: ReactNode; }) => ReactNode)"}},"isDisabled":{"defaultValue":null,"description":"Whether the button is disabled.","name":"isDisabled","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"autoFocus":{"defaultValue":null,"description":"Whether the element should receive focus on render.","name":"autoFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusableProps"}],"required":false,"type":{"name":"boolean"}},"type":{"defaultValue":{"value":"'button'"},"description":"The behavior of the button when used in an HTML form.","name":"type","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"\"button\" | \"submit\" | \"reset\""}},"id":{"defaultValue":null,"description":"The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).","name":"id","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"DOMProps"}],"required":false,"type":{"name":"string"}},"formAction":{"defaultValue":null,"description":"The URL that processes the information submitted by the button.\nOverrides the action attribute of the button's form owner.","name":"formAction","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formEncType":{"defaultValue":null,"description":"Indicates how to encode the form data that is submitted.","name":"formEncType","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formMethod":{"defaultValue":null,"description":"Indicates the HTTP method used to submit the form.","name":"formMethod","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"formNoValidate":{"defaultValue":null,"description":"Indicates that the form is not to be validated when it is submitted.","name":"formNoValidate","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"boolean"}},"formTarget":{"defaultValue":null,"description":"Overrides the target attribute of the button's form owner.","name":"formTarget","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"value":{"defaultValue":null,"description":"The value associated with the button's name when it's submitted with the form data.","name":"value","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}},"className":{"defaultValue":null,"description":"The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.","name":"className","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"StyleRenderProps"}],"required":false,"type":{"name":"string | ((values: ButtonRenderProps & { defaultClassName: string; }) => string)"}},"name":{"defaultValue":null,"description":"Submitted as a pair with the button's value as part of the form data.","name":"name","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"ButtonProps"}],"required":false,"type":{"name":"string"}}},"events":{"onPress":{"defaultValue":null,"description":"Handler that is called when the press is released over the target.","name":"onPress","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressStart":{"defaultValue":null,"description":"Handler that is called when a press interaction starts.","name":"onPressStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressEnd":{"defaultValue":null,"description":"Handler that is called when a press interaction ends, either\nover the target or when the pointer leaves the target.","name":"onPressEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onPressChange":{"defaultValue":null,"description":"Handler that is called when the press state changes.","name":"onPressChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(isPressed: boolean) => void"}},"onPressUp":{"defaultValue":null,"description":"Handler that is called when a press is released over the target, regardless of\nwhether it started on the target or not.","name":"onPressUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"PressEvents"}],"required":false,"type":{"name":"(e: PressEvent) => void"}},"onFocus":{"defaultValue":null,"description":"Handler that is called when the element receives focus.","name":"onFocus","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onBlur":{"defaultValue":null,"description":"Handler that is called when the element loses focus.","name":"onBlur","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(e: FocusEvent) => void"}},"onFocusChange":{"defaultValue":null,"description":"Handler that is called when the element's focus status changes.","name":"onFocusChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"FocusEvents"}],"required":false,"type":{"name":"(isFocused: boolean) => void"}},"onKeyDown":{"defaultValue":null,"description":"Handler that is called when a key is pressed.","name":"onKeyDown","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onKeyUp":{"defaultValue":null,"description":"Handler that is called when a key is released.","name":"onKeyUp","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"KeyboardEvents"}],"required":false,"type":{"name":"(e: KeyboardEvent) => void"}},"onHoverStart":{"defaultValue":null,"description":"Handler that is called when a hover interaction starts.","name":"onHoverStart","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverEnd":{"defaultValue":null,"description":"Handler that is called when a hover interaction ends.","name":"onHoverEnd","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(e: HoverEvent) => void"}},"onHoverChange":{"defaultValue":null,"description":"Handler that is called when the hover state changes.","name":"onHoverChange","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/events.d.ts","name":"HoverEvents"}],"required":false,"type":{"name":"(isHovering: boolean) => void"}}},"accessibility":{"aria-expanded":{"defaultValue":null,"description":"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.","name":"aria-expanded","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\""}},"aria-haspopup":{"defaultValue":null,"description":"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.","name":"aria-haspopup","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"dialog\" | \"menu\" | \"grid\" | \"true\" | \"false\" | \"listbox\" | \"tree\""}},"aria-controls":{"defaultValue":null,"description":"Identifies the element (or elements) whose contents or presence are controlled by the current element.","name":"aria-controls","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"string"}},"aria-pressed":{"defaultValue":null,"description":"Indicates the current \"pressed\" state of toggle buttons.","name":"aria-pressed","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+button@3.9.3_react@18.3.1/node_modules/@react-types/button/src/index.d.ts","name":"AriaBaseButtonProps"}],"required":false,"type":{"name":"boolean | \"true\" | \"false\" | \"mixed\""}},"excludeFromTabOrder":{"defaultValue":null,"description":"Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available.","name":"excludeFromTabOrder","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"FocusableDOMProps"}],"required":false,"type":{"name":"boolean"}},"aria-label":{"defaultValue":null,"description":"Defines a string value that labels the current element.","name":"aria-label","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-labelledby":{"defaultValue":null,"description":"Identifies the element (or elements) that labels the current element.","name":"aria-labelledby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-describedby":{"defaultValue":null,"description":"Identifies the element (or elements) that describes the object.","name":"aria-describedby","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}},"aria-details":{"defaultValue":null,"description":"Identifies the element (or elements) that provide a detailed, extended description for the object.","name":"aria-details","parent":{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/@react-types+shared@3.23.0_react@18.3.1/node_modules/@react-types/shared/src/dom.d.ts","name":"AriaLabelingProps"}],"required":false,"type":{"name":"string"}}},"layout":{"slot":{"defaultValue":null,"description":"A slot name for the component. Slots allow the component to receive props from a parent component.\nAn explicit `null` value indicates that the local props completely override all props received from a parent.","name":"slot","parent":{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"},"declarations":[{"fileName":"wl-hopper/node_modules/.pnpm/react-aria-components@1.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-aria-components/dist/types.d.ts","name":"SlotProps"}],"required":false,"type":{"name":"string"}}}}}] \ No newline at end of file diff --git a/apps/docs/scripts/generateComponentData.mts b/apps/docs/scripts/generateComponentData.mts index 89cbbe2b5..1b28ca828 100644 --- a/apps/docs/scripts/generateComponentData.mts +++ b/apps/docs/scripts/generateComponentData.mts @@ -66,7 +66,6 @@ function getFormattedData(data: ComponentDoc[]): ComponentDocWithGroups[] { return data.map(component => { // Destructure and ignore id and ref from component.props const {key, ref, ...props} = component.props; - console.log("autoFocus", props.type); // Initialize the groups const groups: Groups = { From 570bfd8382e3b9b0cdc5b4345dbb6e9f7f072181 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Thu, 9 May 2024 08:21:21 -0400 Subject: [PATCH 12/14] feat(Doc): code update following PR comment --- apps/docs/app/lib/capitalize.ts | 3 +++ apps/docs/app/ui/components/propTable/PropTable.tsx | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 apps/docs/app/lib/capitalize.ts diff --git a/apps/docs/app/lib/capitalize.ts b/apps/docs/app/lib/capitalize.ts new file mode 100644 index 000000000..fdcc1242c --- /dev/null +++ b/apps/docs/app/lib/capitalize.ts @@ -0,0 +1,3 @@ +export const capitalize = (str: string): string => { + return str.charAt(0).toUpperCase() + str.slice(1); +}; diff --git a/apps/docs/app/ui/components/propTable/PropTable.tsx b/apps/docs/app/ui/components/propTable/PropTable.tsx index 13d780ef1..432b5ac7a 100644 --- a/apps/docs/app/ui/components/propTable/PropTable.tsx +++ b/apps/docs/app/ui/components/propTable/PropTable.tsx @@ -1,5 +1,6 @@ import { MDXRemote } from "next-mdx-remote/rsc"; import { getComponentProps } from "@/app/lib/getComponentProps.ts"; +import { capitalize } from "@/app/lib/capitalize.ts"; import Collapsible from "@/components/collapsible/Collapsible.tsx"; import Title from "@/components/title/Title.tsx"; @@ -11,6 +12,7 @@ import type { Item } from "./PropTableRender.tsx"; import "./propTable.css"; + export interface PropTableProps { component: string; } @@ -61,7 +63,7 @@ export default async function PropTable({ component }: PropTableProps) { - {key} + {capitalize(key)} } > From 815c261ccc0a09c61142180530b9821b1b7ec57c Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Thu, 9 May 2024 13:20:39 -0400 Subject: [PATCH 13/14] feat(Doc): code update following PR comment --- .../app/ui/components/previewComponent/ComponentWrapper.tsx | 2 +- .../app/ui/components/previewComponent/previewComponent.css | 2 ++ apps/docs/app/ui/components/propTable/PropTable.tsx | 1 + apps/docs/content/components/button.mdx | 5 ++--- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx b/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx index f517083c8..23e5afea7 100644 --- a/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx +++ b/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx @@ -20,7 +20,7 @@ const ComponentWrapper = ({ className, src }: ComponentWrapperProps) => { loading: () => }), [src]); - const [colorScheme, setColorScheme] = useState<"light" | "dark">("light"); + const [colorScheme, setColorScheme] = useState<"light" | "dark">("dark"); const toggleTheme = () => { const theme: ColorScheme = colorScheme === "dark" diff --git a/apps/docs/app/ui/components/previewComponent/previewComponent.css b/apps/docs/app/ui/components/previewComponent/previewComponent.css index 73b5c28b8..cf503e21c 100644 --- a/apps/docs/app/ui/components/previewComponent/previewComponent.css +++ b/apps/docs/app/ui/components/previewComponent/previewComponent.css @@ -35,6 +35,7 @@ --hd-color-neutral-icon: var(--hd-neutral-900); } + [data-theme="dark"] .hd-component-wrapper--light .hd-component-wrapper__action:hover { --hd-color-neutral-icon: var(--hd-neutral-0); } @@ -47,6 +48,7 @@ --hd-color-neutral-icon: var(--hd-neutral-0); } +[data-theme="dark"] .hd-component-wrapper--light .hd-preview-component__content, .hd-component-wrapper--light .hd-preview-component__content { --background: var(--hd-white); --color: var(--hd-neutral-50); diff --git a/apps/docs/app/ui/components/propTable/PropTable.tsx b/apps/docs/app/ui/components/propTable/PropTable.tsx index 432b5ac7a..467fcc270 100644 --- a/apps/docs/app/ui/components/propTable/PropTable.tsx +++ b/apps/docs/app/ui/components/propTable/PropTable.tsx @@ -39,6 +39,7 @@ const formatGroup = (groups: Groups[]) => { ...item, name: {item.name}, type: , + defaultValue: item.defaultValue.replace(/'/g, "\""), description: }; }) diff --git a/apps/docs/content/components/button.mdx b/apps/docs/content/components/button.mdx index 7d747b250..afc5f1a01 100644 --- a/apps/docs/content/components/button.mdx +++ b/apps/docs/content/components/button.mdx @@ -11,10 +11,9 @@ links: ## Usage -```tsx -import { Button } from "@hopper-ui/components"; -``` ```tsx showLineNumbers +import { Button } from "@hopper-ui/components"; + ``` ## Props From a6f3abad4087437dca8beec309ccc3c96887ac56 Mon Sep 17 00:00:00 2001 From: Franck Gaudin Date: Thu, 9 May 2024 13:36:39 -0400 Subject: [PATCH 14/14] feat(Doc): code update following PR comment --- .../app/ui/components/previewComponent/ComponentWrapper.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx b/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx index 23e5afea7..f517083c8 100644 --- a/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx +++ b/apps/docs/app/ui/components/previewComponent/ComponentWrapper.tsx @@ -20,7 +20,7 @@ const ComponentWrapper = ({ className, src }: ComponentWrapperProps) => { loading: () => }), [src]); - const [colorScheme, setColorScheme] = useState<"light" | "dark">("dark"); + const [colorScheme, setColorScheme] = useState<"light" | "dark">("light"); const toggleTheme = () => { const theme: ColorScheme = colorScheme === "dark"
- {flexRender(cell.column.columnDef.cell, cell.getContext())} -
+ {emptyCell ? "-" : flexRender(cell.column.columnDef.cell, cell.getContext())} +