Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/components/ui/Accordion/fragments/AccordionTrigger.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { AccordionItemContext } from '../contexts/AccordionItemContext';

import CollapsiblePrimitive from '~/core/primitives/Collapsible';
import RovingFocusGroup from '~/core/utils/RovingFocusGroup';
import Primitive from '~/core/primitives/Primitive';
import ButtonPrimitive from '~/core/primitives/Button';

type AccordionTriggerProps = {
children: React.ReactNode;
Expand Down Expand Up @@ -43,7 +43,7 @@ const AccordionTrigger: React.FC<AccordionTriggerProps> = ({ children, index, cl
return (
<RovingFocusGroup.Item>
<CollapsiblePrimitive.Trigger disabled={disabled} asChild>
<Primitive.button
<ButtonPrimitive
className={clsx(`${rootClass}-trigger`, className)}
ref={triggerRef}
aria-disabled={disabled}
Expand All @@ -52,7 +52,7 @@ const AccordionTrigger: React.FC<AccordionTriggerProps> = ({ children, index, cl
aria-controls={`content-${index}`}
>
{children}
</Primitive.button>
</ButtonPrimitive>
</CollapsiblePrimitive.Trigger>
</RovingFocusGroup.Item>
);
Expand Down
4 changes: 2 additions & 2 deletions src/components/ui/Switch/fragments/SwitchRoot.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use client';

import React, { useState } from 'react';
import Primitive from '~/core/primitives/Primitive';
import ButtonPrimitive from '~/core/primitives/Button';
import { customClassSwitcher } from '~/core';
import { SwitchContext } from '../context/SwitchContext';
import { useCreateDataAttribute, useComposeAttributes, useCreateDataAccentColorAttribute } from '~/core/hooks/createDataAttribute';
Expand All @@ -26,7 +26,7 @@ const SwitchRoot = ({ children, customRootClass, color = '', variant, size }: Sw

return (
<SwitchContext.Provider value={{ checked, setChecked, rootClass }}>
<Primitive.button onClick={() => setChecked(!checked)} className={rootClass} data-state={checked ? 'checked' : 'unchecked'} {...composedAttributes()}>{children}</Primitive.button>
<ButtonPrimitive onClick={() => setChecked(!checked)} className={rootClass} data-state={checked ? 'checked' : 'unchecked'} {...composedAttributes()}>{children}</ButtonPrimitive>
</SwitchContext.Provider>
);
};
Expand Down
6 changes: 3 additions & 3 deletions src/components/ui/Tooltip/fragments/TooltipTrigger.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { useContext, forwardRef } from 'react';

import TooltipContext from '../context/TooltipContext';
import Primitive from '~/core/primitives/Primitive';
import ButtonPrimitive from '~/core/primitives/Button';
import { useMergeRefs } from '@floating-ui/react';

const TooltipTrigger = forwardRef(({ children, asChild, ...props }: { children: React.ReactNode, asChild?: boolean } & JSX.IntrinsicElements['button'], propRef: React.Ref<HTMLButtonElement>) => {
Expand All @@ -20,9 +20,9 @@ const TooltipTrigger = forwardRef(({ children, asChild, ...props }: { children:
const ref = useMergeRefs([context.refs.setReference, propRef, childrenRef]);

return (
<Primitive.button asChild={asChild} ref={ref} data-state={isOpen ? 'open' : 'closed'} {...getReferenceProps(props)} >
<ButtonPrimitive asChild={asChild} ref={ref} data-state={isOpen ? 'open' : 'closed'} {...getReferenceProps(props)} >
{children}
</Primitive.button>
</ButtonPrimitive>
);
});

Expand Down
3 changes: 2 additions & 1 deletion src/core/primitives/Button/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import Primitive from '~/core/primitives/Primitive';

*/

const ButtonPrimitive = forwardRef(({ role = 'button', label = '', description = '', disabled = false, children, ...props }:any, ref) => {
const ButtonPrimitive = forwardRef(({ role = 'button', type = 'button', label = '', description = '', disabled = false, children, ...props }:any, ref) => {
if (label) {
// If we have a label, we should set the aria-label attribute
// This is usually generated automatically by the screen reader
Expand All @@ -42,6 +42,7 @@ const ButtonPrimitive = forwardRef(({ role = 'button', label = '', description =
return <Primitive.button
ref={ref}
role={role}
type={type}
disabled={disabled}
{...props}
// We allow the user to pass any other props they want
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use client';

import React, { HTMLAttributes } from 'react';
import Primitive from '~/core/primitives/Primitive';
import ButtonPrimitive from '~/core/primitives/Button';
import CheckboxPrimitiveContext from '../context/CheckboxPrimitiveContext';

export type CheckboxPrimitiveTriggerProps = {
Expand All @@ -11,7 +11,7 @@ export type CheckboxPrimitiveTriggerProps = {

const CheckboxPrimitiveTrigger = ({ children, className = '', ...props }: CheckboxPrimitiveTriggerProps) => {
const { isChecked, setIsChecked, id, required, disabled } = React.useContext(CheckboxPrimitiveContext);
return <Primitive.button onClick={() => setIsChecked(!isChecked)} role="checkbox" id={id} aria-checked={isChecked} aria-required={required} data-checked={isChecked} disabled={disabled} data-disabled={disabled} {...props} className={className}>{children}</Primitive.button>;
return <ButtonPrimitive onClick={() => setIsChecked(!isChecked)} role="checkbox" id={id} aria-checked={isChecked} aria-required={required} data-checked={isChecked} disabled={disabled} data-disabled={disabled} {...props} className={className}>{children}</ButtonPrimitive>;
};

export default CheckboxPrimitiveTrigger;
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import Primitive from '~/core/primitives/Primitive';
import ButtonPrimitive from '~/core/primitives/Button';
import { useCollapsiblePrimitiveContext } from '../contexts/CollapsiblePrimitiveContext';

export type CollapsiblePrimitiveTriggerProps = {
Expand Down Expand Up @@ -33,7 +33,7 @@ const CollapsiblePrimitiveTrigger = React.forwardRef<HTMLButtonElement, Collapsi
};

return (
<Primitive.button
<ButtonPrimitive
aria-controls={contentId}
aria-expanded={open}
data-state={open ? 'open' : 'closed'}
Expand All @@ -44,7 +44,7 @@ const CollapsiblePrimitiveTrigger = React.forwardRef<HTMLButtonElement, Collapsi
{...props}
>
{children}
</Primitive.button>
</ButtonPrimitive>
);
}
);
Expand Down
6 changes: 3 additions & 3 deletions src/core/primitives/Menu/fragments/MenuPrimitiveTrigger.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { useContext } from 'react';
import Floater from '~/core/primitives/Floater';
import MenuPrimitiveRootContext from '../contexts/MenuPrimitiveRootContext';
import Primitive from '../../Primitive';
import ButtonPrimitive from '../../Button';

export type MenuPrimitiveTriggerProps = {
children: React.ReactNode
Expand All @@ -16,7 +16,7 @@ const MenuPrimitiveTrigger = ({ children, className, asChild, ...props }: MenuPr
const { ref, index } = Floater.useListItem();

return (
<Primitive.button
<ButtonPrimitive
className={className}
tabIndex={
!isNested ? undefined : activeIndex === index ? 0 : -1
Expand All @@ -28,7 +28,7 @@ const MenuPrimitiveTrigger = ({ children, className, asChild, ...props }: MenuPr
{...props}
>
{children}
</Primitive.button>
</ButtonPrimitive>
);
};
export default MenuPrimitiveTrigger;
Loading
Loading