@akanaka/components 0.2.2 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { HTMLAttributes, ReactNode, ImgHTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes, SelectHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
3
+ import { HTMLAttributes, ReactNode, ImgHTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, SelectHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
4
4
  export * from '@akanaka/tokens';
5
5
 
6
6
  type AlertVariant = "info" | "success" | "warning" | "error";
@@ -73,7 +73,10 @@ interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "typ
73
73
  }
74
74
  declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
75
75
 
76
- interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
76
+ type InputSize = "sm" | "md" | "lg";
77
+ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size"> {
78
+ /** Size of the input */
79
+ size?: InputSize;
77
80
  /** Error message to display */
78
81
  error?: string;
79
82
  /** Label text */
@@ -83,6 +86,17 @@ interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
83
86
  }
84
87
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
85
88
 
89
+ type LabelSize = "sm" | "md" | "lg";
90
+ interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
91
+ /** Size of the label */
92
+ size?: LabelSize;
93
+ /** Show error styling (red text) */
94
+ error?: boolean;
95
+ /** Show required indicator (red asterisk) */
96
+ required?: boolean;
97
+ }
98
+ declare const Label: react.ForwardRefExoticComponent<LabelProps & react.RefAttributes<HTMLLabelElement>>;
99
+
86
100
  interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
87
101
  /** Current value (0-100) */
88
102
  value: number;
@@ -162,4 +176,4 @@ interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type"
162
176
  }
163
177
  declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<HTMLInputElement>>;
164
178
 
165
- export { Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardBody, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, type CardSectionProps, CardTitle, type CardVariant, Checkbox, type CheckboxProps, Input, type InputProps, Progress, type ProgressProps, Select, type SelectOption, type SelectProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Toggle, type ToggleProps };
179
+ export { Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardBody, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, type CardSectionProps, CardTitle, type CardVariant, Checkbox, type CheckboxProps, Input, type InputProps, type InputSize, Label, type LabelProps, type LabelSize, Progress, type ProgressProps, Select, type SelectOption, type SelectProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Toggle, type ToggleProps };
package/dist/index.js CHANGED
@@ -304,22 +304,27 @@ Checkbox.displayName = "Checkbox";
304
304
  // src/Input/Input.tsx
305
305
  import { forwardRef as forwardRef3, useId } from "react";
306
306
  import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
307
+ var sizeStyles3 = {
308
+ sm: "px-2 py-1 text-body-sm rounded-sm",
309
+ md: "px-3 py-2 text-body rounded-md",
310
+ lg: "px-4 py-3 text-body rounded-lg"
311
+ };
307
312
  var Input = forwardRef3(
308
- ({ error, label, helperText, disabled, className = "", id, ...props }, ref) => {
313
+ ({ size = "md", error, label, helperText, disabled, className = "", id, ...props }, ref) => {
309
314
  const generatedId = useId();
310
315
  const inputId = id ?? generatedId;
311
316
  const baseStyles = [
312
- "w-full px-3 py-2",
313
- "text-body text-neutral-900",
317
+ "w-full",
318
+ "text-neutral-900",
314
319
  "bg-white",
315
- "border rounded-md",
320
+ "border",
316
321
  "transition-colors duration-fast",
317
322
  "placeholder:text-neutral-500",
318
323
  "focus:outline-none focus:shadow-focus"
319
324
  ].join(" ");
320
325
  const stateStyles = error ? "border-error focus:border-error" : "border-neutral-300 hover:border-neutral-500 focus:border-primary-500";
321
326
  const disabledStyles = disabled ? "bg-neutral-100 text-neutral-500 cursor-not-allowed hover:border-neutral-300" : "";
322
- const classes = [baseStyles, stateStyles, disabledStyles, className].filter(Boolean).join(" ");
327
+ const classes = [baseStyles, sizeStyles3[size], stateStyles, disabledStyles, className].filter(Boolean).join(" ");
323
328
  return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-1", children: [
324
329
  label && /* @__PURE__ */ jsx7(
325
330
  "label",
@@ -348,8 +353,36 @@ var Input = forwardRef3(
348
353
  );
349
354
  Input.displayName = "Input";
350
355
 
351
- // src/Progress/Progress.tsx
356
+ // src/Label/Label.tsx
357
+ import { forwardRef as forwardRef4 } from "react";
352
358
  import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
359
+ var sizeStyles4 = {
360
+ sm: "text-caption",
361
+ md: "text-body-sm",
362
+ lg: "text-body"
363
+ };
364
+ var Label = forwardRef4(
365
+ ({
366
+ size = "md",
367
+ error = false,
368
+ required = false,
369
+ className = "",
370
+ children,
371
+ ...props
372
+ }, ref) => {
373
+ const baseStyles = "font-medium";
374
+ const colorStyles = error ? "text-error" : "text-neutral-700";
375
+ const classes = [baseStyles, sizeStyles4[size], colorStyles, className].filter(Boolean).join(" ");
376
+ return /* @__PURE__ */ jsxs4("label", { ref, className: classes, ...props, children: [
377
+ children,
378
+ required && /* @__PURE__ */ jsx8("span", { className: "text-error ml-1", children: "*" })
379
+ ] });
380
+ }
381
+ );
382
+ Label.displayName = "Label";
383
+
384
+ // src/Progress/Progress.tsx
385
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
353
386
  function Progress({
354
387
  value,
355
388
  max = 100,
@@ -358,8 +391,8 @@ function Progress({
358
391
  ...props
359
392
  }) {
360
393
  const percentage = Math.min(Math.max(value / max * 100, 0), 100);
361
- return /* @__PURE__ */ jsxs4("div", { className: `flex items-center gap-3 ${className}`, ...props, children: [
362
- /* @__PURE__ */ jsx8(
394
+ return /* @__PURE__ */ jsxs5("div", { className: `flex items-center gap-3 ${className}`, ...props, children: [
395
+ /* @__PURE__ */ jsx9(
363
396
  "div",
364
397
  {
365
398
  role: "progressbar",
@@ -367,7 +400,7 @@ function Progress({
367
400
  "aria-valuemin": 0,
368
401
  "aria-valuemax": max,
369
402
  className: "flex-1 h-2 bg-neutral-200 rounded-full overflow-hidden",
370
- children: /* @__PURE__ */ jsx8(
403
+ children: /* @__PURE__ */ jsx9(
371
404
  "div",
372
405
  {
373
406
  className: "h-full bg-primary-500 rounded-full transition-all duration-base",
@@ -376,7 +409,7 @@ function Progress({
376
409
  )
377
410
  }
378
411
  ),
379
- showLabel && /* @__PURE__ */ jsxs4("span", { className: "text-body-sm text-neutral-500 min-w-[3ch]", children: [
412
+ showLabel && /* @__PURE__ */ jsxs5("span", { className: "text-body-sm text-neutral-500 min-w-[3ch]", children: [
380
413
  Math.round(percentage),
381
414
  "%"
382
415
  ] })
@@ -384,9 +417,9 @@ function Progress({
384
417
  }
385
418
 
386
419
  // src/Select/Select.tsx
387
- import { forwardRef as forwardRef4 } from "react";
388
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
389
- var Select = forwardRef4(
420
+ import { forwardRef as forwardRef5 } from "react";
421
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
422
+ var Select = forwardRef5(
390
423
  ({ options, placeholder, error, label, disabled, className = "", id, ...props }, ref) => {
391
424
  const selectId = id || props.name;
392
425
  const baseStyles = [
@@ -404,8 +437,8 @@ var Select = forwardRef4(
404
437
  const stateStyles = error ? "border-error focus:border-error" : "border-neutral-300 hover:border-neutral-500 focus:border-primary-500";
405
438
  const disabledStyles = disabled ? "bg-neutral-100 text-neutral-500 cursor-not-allowed hover:border-neutral-300" : "cursor-pointer";
406
439
  const classes = [baseStyles, stateStyles, disabledStyles, className].filter(Boolean).join(" ");
407
- return /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-1", children: [
408
- label && /* @__PURE__ */ jsx9(
440
+ return /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-1", children: [
441
+ label && /* @__PURE__ */ jsx10(
409
442
  "label",
410
443
  {
411
444
  htmlFor: selectId,
@@ -413,7 +446,7 @@ var Select = forwardRef4(
413
446
  children: label
414
447
  }
415
448
  ),
416
- /* @__PURE__ */ jsxs5(
449
+ /* @__PURE__ */ jsxs6(
417
450
  "select",
418
451
  {
419
452
  ref,
@@ -423,8 +456,8 @@ var Select = forwardRef4(
423
456
  "aria-invalid": !!error,
424
457
  ...props,
425
458
  children: [
426
- placeholder && /* @__PURE__ */ jsx9("option", { value: "", disabled: true, children: placeholder }),
427
- options.map((option) => /* @__PURE__ */ jsx9(
459
+ placeholder && /* @__PURE__ */ jsx10("option", { value: "", disabled: true, children: placeholder }),
460
+ options.map((option) => /* @__PURE__ */ jsx10(
428
461
  "option",
429
462
  {
430
463
  value: option.value,
@@ -436,16 +469,16 @@ var Select = forwardRef4(
436
469
  ]
437
470
  }
438
471
  ),
439
- error && /* @__PURE__ */ jsx9("p", { className: "text-body-sm text-error", children: error })
472
+ error && /* @__PURE__ */ jsx10("p", { className: "text-body-sm text-error", children: error })
440
473
  ] });
441
474
  }
442
475
  );
443
476
  Select.displayName = "Select";
444
477
 
445
478
  // src/Table/Table.tsx
446
- import { jsx as jsx10 } from "react/jsx-runtime";
479
+ import { jsx as jsx11 } from "react/jsx-runtime";
447
480
  function Table({ className = "", children, ...props }) {
448
- return /* @__PURE__ */ jsx10("div", { className: "w-full overflow-auto", children: /* @__PURE__ */ jsx10(
481
+ return /* @__PURE__ */ jsx11("div", { className: "w-full overflow-auto", children: /* @__PURE__ */ jsx11(
449
482
  "table",
450
483
  {
451
484
  className: `w-full border-collapse text-body ${className}`,
@@ -455,13 +488,13 @@ function Table({ className = "", children, ...props }) {
455
488
  ) });
456
489
  }
457
490
  function TableHeader({ className = "", children, ...props }) {
458
- return /* @__PURE__ */ jsx10("thead", { className: `bg-neutral-50 ${className}`, ...props, children });
491
+ return /* @__PURE__ */ jsx11("thead", { className: `bg-neutral-50 ${className}`, ...props, children });
459
492
  }
460
493
  function TableBody({ className = "", children, ...props }) {
461
- return /* @__PURE__ */ jsx10("tbody", { className: `divide-y divide-neutral-200 ${className}`, ...props, children });
494
+ return /* @__PURE__ */ jsx11("tbody", { className: `divide-y divide-neutral-200 ${className}`, ...props, children });
462
495
  }
463
496
  function TableRow({ className = "", children, ...props }) {
464
- return /* @__PURE__ */ jsx10(
497
+ return /* @__PURE__ */ jsx11(
465
498
  "tr",
466
499
  {
467
500
  className: `border-b border-neutral-200 hover:bg-neutral-50 transition-colors ${className}`,
@@ -471,7 +504,7 @@ function TableRow({ className = "", children, ...props }) {
471
504
  );
472
505
  }
473
506
  function TableHead({ className = "", children, ...props }) {
474
- return /* @__PURE__ */ jsx10(
507
+ return /* @__PURE__ */ jsx11(
475
508
  "th",
476
509
  {
477
510
  className: `px-4 py-3 text-left text-body-sm font-semibold text-neutral-700 ${className}`,
@@ -481,7 +514,7 @@ function TableHead({ className = "", children, ...props }) {
481
514
  );
482
515
  }
483
516
  function TableCell({ className = "", children, ...props }) {
484
- return /* @__PURE__ */ jsx10(
517
+ return /* @__PURE__ */ jsx11(
485
518
  "td",
486
519
  {
487
520
  className: `px-4 py-3 text-neutral-900 ${className}`,
@@ -497,7 +530,7 @@ import {
497
530
  useContext,
498
531
  useState
499
532
  } from "react";
500
- import { jsx as jsx11 } from "react/jsx-runtime";
533
+ import { jsx as jsx12 } from "react/jsx-runtime";
501
534
  var TabsContext = createContext(null);
502
535
  function useTabsContext() {
503
536
  const context = useContext(TabsContext);
@@ -522,10 +555,10 @@ function Tabs({
522
555
  }
523
556
  onValueChange?.(newValue);
524
557
  };
525
- return /* @__PURE__ */ jsx11(TabsContext.Provider, { value: { activeTab, setActiveTab }, children: /* @__PURE__ */ jsx11("div", { className, ...props, children }) });
558
+ return /* @__PURE__ */ jsx12(TabsContext.Provider, { value: { activeTab, setActiveTab }, children: /* @__PURE__ */ jsx12("div", { className, ...props, children }) });
526
559
  }
527
560
  function TabsList({ children, className = "", ...props }) {
528
- return /* @__PURE__ */ jsx11(
561
+ return /* @__PURE__ */ jsx12(
529
562
  "div",
530
563
  {
531
564
  role: "tablist",
@@ -551,7 +584,7 @@ function TabsTrigger({
551
584
  "focus:outline-none focus-visible:shadow-focus"
552
585
  ].join(" ");
553
586
  const stateStyles = isActive ? "border-primary-500 text-primary-600" : "border-transparent text-neutral-500 hover:text-neutral-700 hover:border-neutral-300";
554
- return /* @__PURE__ */ jsx11(
587
+ return /* @__PURE__ */ jsx12(
555
588
  "button",
556
589
  {
557
590
  role: "tab",
@@ -573,13 +606,13 @@ function TabsContent({
573
606
  if (activeTab !== value) {
574
607
  return null;
575
608
  }
576
- return /* @__PURE__ */ jsx11("div", { role: "tabpanel", className: `py-4 ${className}`, ...props, children });
609
+ return /* @__PURE__ */ jsx12("div", { role: "tabpanel", className: `py-4 ${className}`, ...props, children });
577
610
  }
578
611
 
579
612
  // src/Toggle/Toggle.tsx
580
- import { forwardRef as forwardRef5 } from "react";
581
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
582
- var Toggle = forwardRef5(
613
+ import { forwardRef as forwardRef6 } from "react";
614
+ import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
615
+ var Toggle = forwardRef6(
583
616
  ({ label, disabled, checked, className = "", id, ...props }, ref) => {
584
617
  const toggleId = id || props.name;
585
618
  const trackStyles = [
@@ -599,9 +632,9 @@ var Toggle = forwardRef5(
599
632
  "transition-transform duration-fast",
600
633
  checked ? "translate-x-4" : "translate-x-0"
601
634
  ].join(" ");
602
- return /* @__PURE__ */ jsxs6("div", { className: `flex items-center gap-2 ${className}`, children: [
603
- /* @__PURE__ */ jsxs6("label", { htmlFor: toggleId, className: trackStyles, children: [
604
- /* @__PURE__ */ jsx12(
635
+ return /* @__PURE__ */ jsxs7("div", { className: `flex items-center gap-2 ${className}`, children: [
636
+ /* @__PURE__ */ jsxs7("label", { htmlFor: toggleId, className: trackStyles, children: [
637
+ /* @__PURE__ */ jsx13(
605
638
  "input",
606
639
  {
607
640
  ref,
@@ -615,9 +648,9 @@ var Toggle = forwardRef5(
615
648
  ...props
616
649
  }
617
650
  ),
618
- /* @__PURE__ */ jsx12("span", { className: thumbStyles })
651
+ /* @__PURE__ */ jsx13("span", { className: thumbStyles })
619
652
  ] }),
620
- label && /* @__PURE__ */ jsx12(
653
+ label && /* @__PURE__ */ jsx13(
621
654
  "label",
622
655
  {
623
656
  htmlFor: toggleId,
@@ -646,6 +679,7 @@ export {
646
679
  CardTitle,
647
680
  Checkbox,
648
681
  Input,
682
+ Label,
649
683
  Progress,
650
684
  Select,
651
685
  Table,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Alert/Alert.tsx","../src/Avatar/Avatar.tsx","../src/Badge/Badge.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Checkbox/Checkbox.tsx","../src/Input/Input.tsx","../src/Progress/Progress.tsx","../src/Select/Select.tsx","../src/Table/Table.tsx","../src/Tabs/Tabs.tsx","../src/Toggle/Toggle.tsx","../src/index.ts"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport type AlertVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nexport interface AlertProps extends HTMLAttributes<HTMLDivElement> {\n /** Visual style variant */\n variant?: AlertVariant;\n /** Alert title */\n title?: string;\n /** Alert content */\n children: ReactNode;\n /** Dismiss handler */\n onDismiss?: () => void;\n}\n\nconst variantStyles: Record<AlertVariant, { container: string; icon: string }> = {\n info: {\n container: \"bg-blue-50 border-blue-200 text-blue-800\",\n icon: \"text-blue-500\",\n },\n success: {\n container: \"bg-green-50 border-green-200 text-green-800\",\n icon: \"text-green-500\",\n },\n warning: {\n container: \"bg-amber-50 border-amber-200 text-amber-800\",\n icon: \"text-amber-500\",\n },\n error: {\n container: \"bg-red-50 border-red-200 text-red-800\",\n icon: \"text-red-500\",\n },\n};\n\nconst icons: Record<AlertVariant, ReactNode> = {\n info: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clipRule=\"evenodd\" />\n </svg>\n ),\n success: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clipRule=\"evenodd\" />\n </svg>\n ),\n warning: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clipRule=\"evenodd\" />\n </svg>\n ),\n error: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clipRule=\"evenodd\" />\n </svg>\n ),\n};\n\nexport function Alert({\n variant = \"info\",\n title,\n children,\n onDismiss,\n className = \"\",\n ...props\n}: AlertProps) {\n const baseStyles = \"flex gap-3 p-4 rounded-lg border\";\n const styles = variantStyles[variant];\n const classes = [baseStyles, styles.container, className].filter(Boolean).join(\" \");\n\n return (\n <div role=\"alert\" className={classes} {...props}>\n <span className={`flex-shrink-0 ${styles.icon}`}>{icons[variant]}</span>\n <div className=\"flex-1\">\n {title && <p className=\"font-semibold mb-1\">{title}</p>}\n <div className=\"text-body-sm\">{children}</div>\n </div>\n {onDismiss && (\n <button\n onClick={onDismiss}\n className=\"flex-shrink-0 opacity-70 hover:opacity-100 transition-opacity\"\n aria-label=\"Dismiss\"\n >\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clipRule=\"evenodd\" />\n </svg>\n </button>\n )}\n </div>\n );\n}\n","import type { ImgHTMLAttributes } from \"react\";\n\nexport type AvatarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, \"size\"> {\n /** Size of the avatar */\n size?: AvatarSize;\n /** Fallback initials when no image */\n initials?: string;\n /** Image source */\n src?: string;\n /** Alt text */\n alt?: string;\n}\n\nconst sizeStyles: Record<AvatarSize, string> = {\n sm: \"w-8 h-8 text-caption\",\n md: \"w-10 h-10 text-body-sm\",\n lg: \"w-12 h-12 text-body\",\n xl: \"w-16 h-16 text-h3\",\n};\n\nexport function Avatar({\n size = \"md\",\n initials,\n src,\n alt = \"\",\n className = \"\",\n ...props\n}: AvatarProps) {\n const baseStyles = [\n \"inline-flex items-center justify-center\",\n \"rounded-full\",\n \"bg-primary-100 text-primary-700\",\n \"font-semibold\",\n \"overflow-hidden\",\n \"flex-shrink-0\",\n ].join(\" \");\n\n const classes = [baseStyles, sizeStyles[size], className]\n .filter(Boolean)\n .join(\" \");\n\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n className={`${sizeStyles[size]} rounded-full object-cover ${className}`}\n {...props}\n />\n );\n }\n\n return (\n <span className={classes} role=\"img\" aria-label={alt || initials}>\n {initials?.slice(0, 2).toUpperCase()}\n </span>\n );\n}\n","import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport type BadgeVariant = \"default\" | \"primary\" | \"success\" | \"warning\" | \"error\" | \"info\";\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /** Visual style variant */\n variant?: BadgeVariant;\n /** Badge content */\n children: ReactNode;\n}\n\nconst variantStyles: Record<BadgeVariant, string> = {\n default: \"bg-neutral-100 text-neutral-700\",\n primary: \"bg-primary-100 text-primary-700\",\n success: \"bg-green-100 text-green-700\",\n warning: \"bg-amber-100 text-amber-700\",\n error: \"bg-red-100 text-red-700\",\n info: \"bg-blue-100 text-blue-700\",\n};\n\nexport function Badge({\n variant = \"default\",\n children,\n className = \"\",\n ...props\n}: BadgeProps) {\n const baseStyles = [\n \"inline-flex items-center\",\n \"px-2 py-0.5\",\n \"text-caption font-medium\",\n \"rounded-full\",\n ].join(\" \");\n\n const classes = [baseStyles, variantStyles[variant], className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <span className={classes} {...props}>\n {children}\n </span>\n );\n}\n","import { forwardRef, type ButtonHTMLAttributes } from \"react\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\" | \"default\" | \"outline\" | \"destructive\" | \"link\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Visual style variant */\n variant?: ButtonVariant;\n /** Size of the button */\n size?: ButtonSize;\n /** Full width button */\n fullWidth?: boolean;\n}\n\nconst variantStyles: Record<ButtonVariant, string> = {\n primary: [\n \"bg-primary-500 text-white\",\n \"hover:bg-primary-600\",\n \"active:bg-primary-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n default: [\n \"bg-primary-500 text-white\",\n \"hover:bg-primary-600\",\n \"active:bg-primary-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n secondary: [\n \"bg-neutral-100 text-neutral-900\",\n \"border border-neutral-300\",\n \"hover:bg-neutral-200\",\n \"active:bg-neutral-300\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-100 disabled:text-neutral-500 disabled:border-neutral-200\",\n ].join(\" \"),\n outline: [\n \"bg-transparent text-neutral-900\",\n \"border border-neutral-300\",\n \"hover:bg-neutral-100\",\n \"active:bg-neutral-200\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:text-neutral-500 disabled:border-neutral-200\",\n ].join(\" \"),\n ghost: [\n \"bg-transparent text-neutral-700\",\n \"hover:bg-neutral-100\",\n \"active:bg-neutral-200\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:text-neutral-500 disabled:bg-transparent\",\n ].join(\" \"),\n danger: [\n \"bg-error text-white\",\n \"hover:bg-red-600\",\n \"active:bg-red-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n destructive: [\n \"bg-error text-white\",\n \"hover:bg-red-600\",\n \"active:bg-red-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n link: [\n \"bg-transparent text-primary-500 underline-offset-4\",\n \"hover:underline\",\n \"active:text-primary-700\",\n \"focus-visible:outline-none focus-visible:underline\",\n \"disabled:text-neutral-500 disabled:no-underline\",\n ].join(\" \"),\n};\n\nconst sizeStyles: Record<ButtonSize, string> = {\n sm: \"px-3 py-1.5 text-body-sm rounded-sm\",\n md: \"px-4 py-2 text-body rounded-md\",\n lg: \"px-6 py-3 text-h3 rounded-lg\",\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"primary\",\n size = \"md\",\n fullWidth = false,\n className = \"\",\n disabled,\n children,\n ...props\n },\n ref\n ) => {\n const baseStyles = [\n \"inline-flex items-center justify-center\",\n \"font-semibold\",\n \"transition-colors duration-fast\",\n \"cursor-pointer\",\n \"disabled:cursor-not-allowed\",\n ].join(\" \");\n\n const classes = [\n baseStyles,\n variantStyles[variant],\n sizeStyles[size],\n fullWidth ? \"w-full\" : \"\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n ref={ref}\n className={classes}\n disabled={disabled}\n {...props}\n >\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = \"Button\";","import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport type CardVariant = \"elevated\" | \"flat\";\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n variant?: CardVariant;\n children: ReactNode;\n}\n\nexport interface CardSectionProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nconst variantStyles: Record<CardVariant, string> = {\n elevated: \"bg-white shadow-md border border-neutral-200\",\n flat: \"bg-neutral-50 border border-neutral-200\",\n};\n\nexport function Card({\n variant = \"elevated\",\n children,\n className = \"\",\n ...props\n}: CardProps) {\n const baseStyles = \"rounded-lg overflow-hidden\";\n const classes = [baseStyles, variantStyles[variant], className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n}\n\nexport function CardHeader({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <div className={`px-4 py-3 border-b border-neutral-200 ${className}`} {...props}>\n {children}\n </div>\n );\n}\n\nexport function CardTitle({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <h3 className={`text-lg font-semibold text-neutral-900 ${className}`} {...props}>\n {children}\n </h3>\n );\n}\n\nexport function CardDescription({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <p className={`text-sm text-neutral-500 mt-1 ${className}`} {...props}>\n {children}\n </p>\n );\n}\n\nexport function CardContent({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <div className={`px-4 py-4 ${className}`} {...props}>\n {children}\n </div>\n );\n}\n\n/** @deprecated Use CardContent instead */\nexport const CardBody = CardContent;\n\nexport function CardFooter({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <div className={`px-4 py-3 border-t border-neutral-200 bg-neutral-50 ${className}`} {...props}>\n {children}\n </div>\n );\n}","import { forwardRef, type InputHTMLAttributes } from \"react\";\n\nexport interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n /** Label text */\n label?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, disabled, className = \"\", id, ...props }, ref) => {\n const checkboxId = id || props.name;\n\n const checkboxStyles = [\n \"w-4 h-4\",\n \"rounded-sm\",\n \"border border-neutral-300\",\n \"text-primary-500\",\n \"transition-colors duration-fast\",\n \"focus:outline-none focus:shadow-focus\",\n \"checked:bg-primary-500 checked:border-primary-500\",\n \"hover:border-neutral-500\",\n \"disabled:bg-neutral-100 disabled:border-neutral-300 disabled:cursor-not-allowed\",\n \"cursor-pointer\",\n \"accent-primary-500\",\n ].join(\" \");\n\n return (\n <div className={`flex items-center gap-2 ${className}`}>\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n disabled={disabled}\n className={checkboxStyles}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className={`text-body text-neutral-900 select-none ${\n disabled ? \"text-neutral-500 cursor-not-allowed\" : \"cursor-pointer\"\n }`}\n >\n {label}\n </label>\n )}\n </div>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { forwardRef, useId, type InputHTMLAttributes } from \"react\";\n\nexport interface InputProps extends InputHTMLAttributes<HTMLInputElement> {\n /** Error message to display */\n error?: string;\n /** Label text */\n label?: string;\n /** Helper text below input */\n helperText?: string;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ error, label, helperText, disabled, className = \"\", id, ...props }, ref) => {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n\n const baseStyles = [\n \"w-full px-3 py-2\",\n \"text-body text-neutral-900\",\n \"bg-white\",\n \"border rounded-md\",\n \"transition-colors duration-fast\",\n \"placeholder:text-neutral-500\",\n \"focus:outline-none focus:shadow-focus\",\n ].join(\" \");\n\n const stateStyles = error\n ? \"border-error focus:border-error\"\n : \"border-neutral-300 hover:border-neutral-500 focus:border-primary-500\";\n\n const disabledStyles = disabled\n ? \"bg-neutral-100 text-neutral-500 cursor-not-allowed hover:border-neutral-300\"\n : \"\";\n\n const classes = [baseStyles, stateStyles, disabledStyles, className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className=\"flex flex-col gap-1\">\n {label && (\n <label\n htmlFor={inputId}\n className=\"text-body-sm font-medium text-neutral-700\"\n >\n {label}\n </label>\n )}\n <input\n ref={ref}\n id={inputId}\n disabled={disabled}\n className={classes}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : helperText ? `${inputId}-helper` : undefined}\n {...props}\n />\n {error && (\n <p id={`${inputId}-error`} className=\"text-body-sm text-error\">\n {error}\n </p>\n )}\n {!error && helperText && (\n <p id={`${inputId}-helper`} className=\"text-body-sm text-neutral-500\">\n {helperText}\n </p>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = \"Input\";\n","import type { HTMLAttributes } from \"react\";\n\nexport interface ProgressProps extends HTMLAttributes<HTMLDivElement> {\n /** Current value (0-100) */\n value: number;\n /** Maximum value */\n max?: number;\n /** Show percentage label */\n showLabel?: boolean;\n}\n\nexport function Progress({\n value,\n max = 100,\n showLabel = false,\n className = \"\",\n ...props\n}: ProgressProps) {\n const percentage = Math.min(Math.max((value / max) * 100, 0), 100);\n\n return (\n <div className={`flex items-center gap-3 ${className}`} {...props}>\n <div\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n className=\"flex-1 h-2 bg-neutral-200 rounded-full overflow-hidden\"\n >\n <div\n className=\"h-full bg-primary-500 rounded-full transition-all duration-base\"\n style={{ width: `${percentage}%` }}\n />\n </div>\n {showLabel && (\n <span className=\"text-body-sm text-neutral-500 min-w-[3ch]\">\n {Math.round(percentage)}%\n </span>\n )}\n </div>\n );\n}\n","import { forwardRef, type SelectHTMLAttributes } from \"react\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, \"children\"> {\n /** Options to display */\n options: SelectOption[];\n /** Placeholder text */\n placeholder?: string;\n /** Error message */\n error?: string;\n /** Label text */\n label?: string;\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ options, placeholder, error, label, disabled, className = \"\", id, ...props }, ref) => {\n const selectId = id || props.name;\n\n const baseStyles = [\n \"w-full px-3 py-2\",\n \"text-body text-neutral-900\",\n \"bg-white\",\n \"border rounded-md\",\n \"transition-colors duration-fast\",\n \"focus:outline-none focus:shadow-focus\",\n \"appearance-none\",\n \"bg-[url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%2378716C%22%20d%3D%22M6%208L2%204h8z%22%2F%3E%3C%2Fsvg%3E')]\",\n \"bg-[length:12px] bg-[right_12px_center] bg-no-repeat\",\n \"pr-10\",\n ].join(\" \");\n\n const stateStyles = error\n ? \"border-error focus:border-error\"\n : \"border-neutral-300 hover:border-neutral-500 focus:border-primary-500\";\n\n const disabledStyles = disabled\n ? \"bg-neutral-100 text-neutral-500 cursor-not-allowed hover:border-neutral-300\"\n : \"cursor-pointer\";\n\n const classes = [baseStyles, stateStyles, disabledStyles, className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className=\"flex flex-col gap-1\">\n {label && (\n <label\n htmlFor={selectId}\n className=\"text-body-sm font-medium text-neutral-700\"\n >\n {label}\n </label>\n )}\n <select\n ref={ref}\n id={selectId}\n disabled={disabled}\n className={classes}\n aria-invalid={!!error}\n {...props}\n >\n {placeholder && (\n <option value=\"\" disabled>\n {placeholder}\n </option>\n )}\n {options.map((option) => (\n <option\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.label}\n </option>\n ))}\n </select>\n {error && (\n <p className=\"text-body-sm text-error\">{error}</p>\n )}\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\n","import type { HTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from \"react\";\n\nexport interface TableProps extends HTMLAttributes<HTMLTableElement> {}\nexport interface TableHeaderProps extends HTMLAttributes<HTMLTableSectionElement> {}\nexport interface TableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {}\nexport interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {}\nexport interface TableHeadProps extends ThHTMLAttributes<HTMLTableCellElement> {}\nexport interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {}\n\nexport function Table({ className = \"\", children, ...props }: TableProps) {\n return (\n <div className=\"w-full overflow-auto\">\n <table\n className={`w-full border-collapse text-body ${className}`}\n {...props}\n >\n {children}\n </table>\n </div>\n );\n}\n\nexport function TableHeader({ className = \"\", children, ...props }: TableHeaderProps) {\n return (\n <thead className={`bg-neutral-50 ${className}`} {...props}>\n {children}\n </thead>\n );\n}\n\nexport function TableBody({ className = \"\", children, ...props }: TableBodyProps) {\n return (\n <tbody className={`divide-y divide-neutral-200 ${className}`} {...props}>\n {children}\n </tbody>\n );\n}\n\nexport function TableRow({ className = \"\", children, ...props }: TableRowProps) {\n return (\n <tr\n className={`border-b border-neutral-200 hover:bg-neutral-50 transition-colors ${className}`}\n {...props}\n >\n {children}\n </tr>\n );\n}\n\nexport function TableHead({ className = \"\", children, ...props }: TableHeadProps) {\n return (\n <th\n className={`px-4 py-3 text-left text-body-sm font-semibold text-neutral-700 ${className}`}\n {...props}\n >\n {children}\n </th>\n );\n}\n\nexport function TableCell({ className = \"\", children, ...props }: TableCellProps) {\n return (\n <td\n className={`px-4 py-3 text-neutral-900 ${className}`}\n {...props}\n >\n {children}\n </td>\n );\n}\n","import {\n createContext,\n useContext,\n useState,\n type ReactNode,\n type HTMLAttributes,\n} from \"react\";\n\ninterface TabsContextValue {\n activeTab: string;\n setActiveTab: (value: string) => void;\n}\n\nconst TabsContext = createContext<TabsContextValue | null>(null);\n\nfunction useTabsContext() {\n const context = useContext(TabsContext);\n if (!context) {\n throw new Error(\"Tabs components must be used within a Tabs provider\");\n }\n return context;\n}\n\nexport interface TabsProps extends HTMLAttributes<HTMLDivElement> {\n /** Default active tab value */\n defaultValue: string;\n /** Controlled active tab value */\n value?: string;\n /** Callback when tab changes */\n onValueChange?: (value: string) => void;\n children: ReactNode;\n}\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport interface TabsTriggerProps extends HTMLAttributes<HTMLButtonElement> {\n /** Value that identifies this tab */\n value: string;\n children: ReactNode;\n}\n\nexport interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {\n /** Value that identifies this content */\n value: string;\n children: ReactNode;\n}\n\nexport function Tabs({\n defaultValue,\n value,\n onValueChange,\n children,\n className = \"\",\n ...props\n}: TabsProps) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const activeTab = value ?? internalValue;\n\n const setActiveTab = (newValue: string) => {\n if (!value) {\n setInternalValue(newValue);\n }\n onValueChange?.(newValue);\n };\n\n return (\n <TabsContext.Provider value={{ activeTab, setActiveTab }}>\n <div className={className} {...props}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ children, className = \"\", ...props }: TabsListProps) {\n return (\n <div\n role=\"tablist\"\n className={`flex border-b border-neutral-200 ${className}`}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function TabsTrigger({\n value,\n children,\n className = \"\",\n ...props\n}: TabsTriggerProps) {\n const { activeTab, setActiveTab } = useTabsContext();\n const isActive = activeTab === value;\n\n const baseStyles = [\n \"px-4 py-2\",\n \"text-body font-medium\",\n \"border-b-2 -mb-px\",\n \"transition-colors duration-fast\",\n \"focus:outline-none focus-visible:shadow-focus\",\n ].join(\" \");\n\n const stateStyles = isActive\n ? \"border-primary-500 text-primary-600\"\n : \"border-transparent text-neutral-500 hover:text-neutral-700 hover:border-neutral-300\";\n\n return (\n <button\n role=\"tab\"\n aria-selected={isActive}\n onClick={() => setActiveTab(value)}\n className={`${baseStyles} ${stateStyles} ${className}`}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function TabsContent({\n value,\n children,\n className = \"\",\n ...props\n}: TabsContentProps) {\n const { activeTab } = useTabsContext();\n\n if (activeTab !== value) {\n return null;\n }\n\n return (\n <div role=\"tabpanel\" className={`py-4 ${className}`} {...props}>\n {children}\n </div>\n );\n}\n","import { forwardRef, type InputHTMLAttributes } from \"react\";\n\nexport interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n /** Label text */\n label?: string;\n}\n\nexport const Toggle = forwardRef<HTMLInputElement, ToggleProps>(\n ({ label, disabled, checked, className = \"\", id, ...props }, ref) => {\n const toggleId = id || props.name;\n\n const trackStyles = [\n \"relative inline-flex\",\n \"w-10 h-6\",\n \"rounded-full\",\n \"transition-colors duration-fast\",\n \"cursor-pointer\",\n checked ? \"bg-primary-500\" : \"bg-neutral-300\",\n disabled ? \"opacity-50 cursor-not-allowed\" : \"\",\n ].join(\" \");\n\n const thumbStyles = [\n \"absolute top-1 left-1\",\n \"w-4 h-4\",\n \"bg-white rounded-full\",\n \"shadow-sm\",\n \"transition-transform duration-fast\",\n checked ? \"translate-x-4\" : \"translate-x-0\",\n ].join(\" \");\n\n return (\n <div className={`flex items-center gap-2 ${className}`}>\n <label htmlFor={toggleId} className={trackStyles}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n id={toggleId}\n disabled={disabled}\n checked={checked}\n className=\"sr-only\"\n aria-checked={checked}\n {...props}\n />\n <span className={thumbStyles} />\n </label>\n {label && (\n <label\n htmlFor={toggleId}\n className={`text-body text-neutral-900 select-none ${\n disabled ? \"text-neutral-500 cursor-not-allowed\" : \"cursor-pointer\"\n }`}\n >\n {label}\n </label>\n )}\n </div>\n );\n }\n);\n\nToggle.displayName = \"Toggle\";\n","// Components\nexport * from \"./Alert\";\nexport * from \"./Avatar\";\nexport * from \"./Badge\";\nexport * from \"./Button\";\nexport * from \"./Card\";\nexport * from \"./Checkbox\";\nexport * from \"./Input\";\nexport * from \"./Progress\";\nexport * from \"./Select\";\nexport * from \"./Table\";\nexport * from \"./Tabs\";\nexport * from \"./Toggle\";\n\n// Re-export tokens for convenience\nexport * from \"@akanaka/tokens\";\n"],"mappings":"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","names":["jsx","jsx","variantStyles","jsx","variantStyles","sizeStyles","jsx","variantStyles","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","jsx","jsxs","forwardRef","jsx","jsxs","jsx","jsx","forwardRef","jsx","jsxs"]}
1
+ {"version":3,"sources":["../src/Alert/Alert.tsx","../src/Avatar/Avatar.tsx","../src/Badge/Badge.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Checkbox/Checkbox.tsx","../src/Input/Input.tsx","../src/Label/Label.tsx","../src/Progress/Progress.tsx","../src/Select/Select.tsx","../src/Table/Table.tsx","../src/Tabs/Tabs.tsx","../src/Toggle/Toggle.tsx","../src/index.ts"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport type AlertVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nexport interface AlertProps extends HTMLAttributes<HTMLDivElement> {\n /** Visual style variant */\n variant?: AlertVariant;\n /** Alert title */\n title?: string;\n /** Alert content */\n children: ReactNode;\n /** Dismiss handler */\n onDismiss?: () => void;\n}\n\nconst variantStyles: Record<AlertVariant, { container: string; icon: string }> = {\n info: {\n container: \"bg-blue-50 border-blue-200 text-blue-800\",\n icon: \"text-blue-500\",\n },\n success: {\n container: \"bg-green-50 border-green-200 text-green-800\",\n icon: \"text-green-500\",\n },\n warning: {\n container: \"bg-amber-50 border-amber-200 text-amber-800\",\n icon: \"text-amber-500\",\n },\n error: {\n container: \"bg-red-50 border-red-200 text-red-800\",\n icon: \"text-red-500\",\n },\n};\n\nconst icons: Record<AlertVariant, ReactNode> = {\n info: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clipRule=\"evenodd\" />\n </svg>\n ),\n success: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clipRule=\"evenodd\" />\n </svg>\n ),\n warning: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clipRule=\"evenodd\" />\n </svg>\n ),\n error: (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clipRule=\"evenodd\" />\n </svg>\n ),\n};\n\nexport function Alert({\n variant = \"info\",\n title,\n children,\n onDismiss,\n className = \"\",\n ...props\n}: AlertProps) {\n const baseStyles = \"flex gap-3 p-4 rounded-lg border\";\n const styles = variantStyles[variant];\n const classes = [baseStyles, styles.container, className].filter(Boolean).join(\" \");\n\n return (\n <div role=\"alert\" className={classes} {...props}>\n <span className={`flex-shrink-0 ${styles.icon}`}>{icons[variant]}</span>\n <div className=\"flex-1\">\n {title && <p className=\"font-semibold mb-1\">{title}</p>}\n <div className=\"text-body-sm\">{children}</div>\n </div>\n {onDismiss && (\n <button\n onClick={onDismiss}\n className=\"flex-shrink-0 opacity-70 hover:opacity-100 transition-opacity\"\n aria-label=\"Dismiss\"\n >\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path fillRule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clipRule=\"evenodd\" />\n </svg>\n </button>\n )}\n </div>\n );\n}\n","import type { ImgHTMLAttributes } from \"react\";\n\nexport type AvatarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, \"size\"> {\n /** Size of the avatar */\n size?: AvatarSize;\n /** Fallback initials when no image */\n initials?: string;\n /** Image source */\n src?: string;\n /** Alt text */\n alt?: string;\n}\n\nconst sizeStyles: Record<AvatarSize, string> = {\n sm: \"w-8 h-8 text-caption\",\n md: \"w-10 h-10 text-body-sm\",\n lg: \"w-12 h-12 text-body\",\n xl: \"w-16 h-16 text-h3\",\n};\n\nexport function Avatar({\n size = \"md\",\n initials,\n src,\n alt = \"\",\n className = \"\",\n ...props\n}: AvatarProps) {\n const baseStyles = [\n \"inline-flex items-center justify-center\",\n \"rounded-full\",\n \"bg-primary-100 text-primary-700\",\n \"font-semibold\",\n \"overflow-hidden\",\n \"flex-shrink-0\",\n ].join(\" \");\n\n const classes = [baseStyles, sizeStyles[size], className]\n .filter(Boolean)\n .join(\" \");\n\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n className={`${sizeStyles[size]} rounded-full object-cover ${className}`}\n {...props}\n />\n );\n }\n\n return (\n <span className={classes} role=\"img\" aria-label={alt || initials}>\n {initials?.slice(0, 2).toUpperCase()}\n </span>\n );\n}\n","import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport type BadgeVariant = \"default\" | \"primary\" | \"success\" | \"warning\" | \"error\" | \"info\";\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /** Visual style variant */\n variant?: BadgeVariant;\n /** Badge content */\n children: ReactNode;\n}\n\nconst variantStyles: Record<BadgeVariant, string> = {\n default: \"bg-neutral-100 text-neutral-700\",\n primary: \"bg-primary-100 text-primary-700\",\n success: \"bg-green-100 text-green-700\",\n warning: \"bg-amber-100 text-amber-700\",\n error: \"bg-red-100 text-red-700\",\n info: \"bg-blue-100 text-blue-700\",\n};\n\nexport function Badge({\n variant = \"default\",\n children,\n className = \"\",\n ...props\n}: BadgeProps) {\n const baseStyles = [\n \"inline-flex items-center\",\n \"px-2 py-0.5\",\n \"text-caption font-medium\",\n \"rounded-full\",\n ].join(\" \");\n\n const classes = [baseStyles, variantStyles[variant], className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <span className={classes} {...props}>\n {children}\n </span>\n );\n}\n","import { forwardRef, type ButtonHTMLAttributes } from \"react\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\" | \"default\" | \"outline\" | \"destructive\" | \"link\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Visual style variant */\n variant?: ButtonVariant;\n /** Size of the button */\n size?: ButtonSize;\n /** Full width button */\n fullWidth?: boolean;\n}\n\nconst variantStyles: Record<ButtonVariant, string> = {\n primary: [\n \"bg-primary-500 text-white\",\n \"hover:bg-primary-600\",\n \"active:bg-primary-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n default: [\n \"bg-primary-500 text-white\",\n \"hover:bg-primary-600\",\n \"active:bg-primary-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n secondary: [\n \"bg-neutral-100 text-neutral-900\",\n \"border border-neutral-300\",\n \"hover:bg-neutral-200\",\n \"active:bg-neutral-300\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-100 disabled:text-neutral-500 disabled:border-neutral-200\",\n ].join(\" \"),\n outline: [\n \"bg-transparent text-neutral-900\",\n \"border border-neutral-300\",\n \"hover:bg-neutral-100\",\n \"active:bg-neutral-200\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:text-neutral-500 disabled:border-neutral-200\",\n ].join(\" \"),\n ghost: [\n \"bg-transparent text-neutral-700\",\n \"hover:bg-neutral-100\",\n \"active:bg-neutral-200\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:text-neutral-500 disabled:bg-transparent\",\n ].join(\" \"),\n danger: [\n \"bg-error text-white\",\n \"hover:bg-red-600\",\n \"active:bg-red-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n destructive: [\n \"bg-error text-white\",\n \"hover:bg-red-600\",\n \"active:bg-red-700\",\n \"focus-visible:shadow-focus focus-visible:outline-none\",\n \"disabled:bg-neutral-300 disabled:text-neutral-500\",\n ].join(\" \"),\n link: [\n \"bg-transparent text-primary-500 underline-offset-4\",\n \"hover:underline\",\n \"active:text-primary-700\",\n \"focus-visible:outline-none focus-visible:underline\",\n \"disabled:text-neutral-500 disabled:no-underline\",\n ].join(\" \"),\n};\n\nconst sizeStyles: Record<ButtonSize, string> = {\n sm: \"px-3 py-1.5 text-body-sm rounded-sm\",\n md: \"px-4 py-2 text-body rounded-md\",\n lg: \"px-6 py-3 text-h3 rounded-lg\",\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"primary\",\n size = \"md\",\n fullWidth = false,\n className = \"\",\n disabled,\n children,\n ...props\n },\n ref\n ) => {\n const baseStyles = [\n \"inline-flex items-center justify-center\",\n \"font-semibold\",\n \"transition-colors duration-fast\",\n \"cursor-pointer\",\n \"disabled:cursor-not-allowed\",\n ].join(\" \");\n\n const classes = [\n baseStyles,\n variantStyles[variant],\n sizeStyles[size],\n fullWidth ? \"w-full\" : \"\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n ref={ref}\n className={classes}\n disabled={disabled}\n {...props}\n >\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = \"Button\";","import type { HTMLAttributes, ReactNode } from \"react\";\n\nexport type CardVariant = \"elevated\" | \"flat\";\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n variant?: CardVariant;\n children: ReactNode;\n}\n\nexport interface CardSectionProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nconst variantStyles: Record<CardVariant, string> = {\n elevated: \"bg-white shadow-md border border-neutral-200\",\n flat: \"bg-neutral-50 border border-neutral-200\",\n};\n\nexport function Card({\n variant = \"elevated\",\n children,\n className = \"\",\n ...props\n}: CardProps) {\n const baseStyles = \"rounded-lg overflow-hidden\";\n const classes = [baseStyles, variantStyles[variant], className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n}\n\nexport function CardHeader({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <div className={`px-4 py-3 border-b border-neutral-200 ${className}`} {...props}>\n {children}\n </div>\n );\n}\n\nexport function CardTitle({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <h3 className={`text-lg font-semibold text-neutral-900 ${className}`} {...props}>\n {children}\n </h3>\n );\n}\n\nexport function CardDescription({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <p className={`text-sm text-neutral-500 mt-1 ${className}`} {...props}>\n {children}\n </p>\n );\n}\n\nexport function CardContent({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <div className={`px-4 py-4 ${className}`} {...props}>\n {children}\n </div>\n );\n}\n\n/** @deprecated Use CardContent instead */\nexport const CardBody = CardContent;\n\nexport function CardFooter({ children, className = \"\", ...props }: CardSectionProps) {\n return (\n <div className={`px-4 py-3 border-t border-neutral-200 bg-neutral-50 ${className}`} {...props}>\n {children}\n </div>\n );\n}","import { forwardRef, type InputHTMLAttributes } from \"react\";\n\nexport interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n /** Label text */\n label?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, disabled, className = \"\", id, ...props }, ref) => {\n const checkboxId = id || props.name;\n\n const checkboxStyles = [\n \"w-4 h-4\",\n \"rounded-sm\",\n \"border border-neutral-300\",\n \"text-primary-500\",\n \"transition-colors duration-fast\",\n \"focus:outline-none focus:shadow-focus\",\n \"checked:bg-primary-500 checked:border-primary-500\",\n \"hover:border-neutral-500\",\n \"disabled:bg-neutral-100 disabled:border-neutral-300 disabled:cursor-not-allowed\",\n \"cursor-pointer\",\n \"accent-primary-500\",\n ].join(\" \");\n\n return (\n <div className={`flex items-center gap-2 ${className}`}>\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n disabled={disabled}\n className={checkboxStyles}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className={`text-body text-neutral-900 select-none ${\n disabled ? \"text-neutral-500 cursor-not-allowed\" : \"cursor-pointer\"\n }`}\n >\n {label}\n </label>\n )}\n </div>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { forwardRef, useId, type InputHTMLAttributes } from \"react\";\n\nexport type InputSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n /** Size of the input */\n size?: InputSize;\n /** Error message to display */\n error?: string;\n /** Label text */\n label?: string;\n /** Helper text below input */\n helperText?: string;\n}\n\nconst sizeStyles: Record<InputSize, string> = {\n sm: \"px-2 py-1 text-body-sm rounded-sm\",\n md: \"px-3 py-2 text-body rounded-md\",\n lg: \"px-4 py-3 text-body rounded-lg\",\n};\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ size = \"md\", error, label, helperText, disabled, className = \"\", id, ...props }, ref) => {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n\n const baseStyles = [\n \"w-full\",\n \"text-neutral-900\",\n \"bg-white\",\n \"border\",\n \"transition-colors duration-fast\",\n \"placeholder:text-neutral-500\",\n \"focus:outline-none focus:shadow-focus\",\n ].join(\" \");\n\n const stateStyles = error\n ? \"border-error focus:border-error\"\n : \"border-neutral-300 hover:border-neutral-500 focus:border-primary-500\";\n\n const disabledStyles = disabled\n ? \"bg-neutral-100 text-neutral-500 cursor-not-allowed hover:border-neutral-300\"\n : \"\";\n\n const classes = [baseStyles, sizeStyles[size], stateStyles, disabledStyles, className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className=\"flex flex-col gap-1\">\n {label && (\n <label\n htmlFor={inputId}\n className=\"text-body-sm font-medium text-neutral-700\"\n >\n {label}\n </label>\n )}\n <input\n ref={ref}\n id={inputId}\n disabled={disabled}\n className={classes}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : helperText ? `${inputId}-helper` : undefined}\n {...props}\n />\n {error && (\n <p id={`${inputId}-error`} className=\"text-body-sm text-error\">\n {error}\n </p>\n )}\n {!error && helperText && (\n <p id={`${inputId}-helper`} className=\"text-body-sm text-neutral-500\">\n {helperText}\n </p>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = \"Input\";\n","import { forwardRef, type LabelHTMLAttributes } from \"react\";\n\nexport type LabelSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n /** Size of the label */\n size?: LabelSize;\n /** Show error styling (red text) */\n error?: boolean;\n /** Show required indicator (red asterisk) */\n required?: boolean;\n}\n\nconst sizeStyles: Record<LabelSize, string> = {\n sm: \"text-caption\",\n md: \"text-body-sm\",\n lg: \"text-body\",\n};\n\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(\n (\n {\n size = \"md\",\n error = false,\n required = false,\n className = \"\",\n children,\n ...props\n },\n ref\n ) => {\n const baseStyles = \"font-medium\";\n const colorStyles = error ? \"text-error\" : \"text-neutral-700\";\n\n const classes = [baseStyles, sizeStyles[size], colorStyles, className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <label ref={ref} className={classes} {...props}>\n {children}\n {required && <span className=\"text-error ml-1\">*</span>}\n </label>\n );\n }\n);\n\nLabel.displayName = \"Label\";\n","import type { HTMLAttributes } from \"react\";\n\nexport interface ProgressProps extends HTMLAttributes<HTMLDivElement> {\n /** Current value (0-100) */\n value: number;\n /** Maximum value */\n max?: number;\n /** Show percentage label */\n showLabel?: boolean;\n}\n\nexport function Progress({\n value,\n max = 100,\n showLabel = false,\n className = \"\",\n ...props\n}: ProgressProps) {\n const percentage = Math.min(Math.max((value / max) * 100, 0), 100);\n\n return (\n <div className={`flex items-center gap-3 ${className}`} {...props}>\n <div\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n className=\"flex-1 h-2 bg-neutral-200 rounded-full overflow-hidden\"\n >\n <div\n className=\"h-full bg-primary-500 rounded-full transition-all duration-base\"\n style={{ width: `${percentage}%` }}\n />\n </div>\n {showLabel && (\n <span className=\"text-body-sm text-neutral-500 min-w-[3ch]\">\n {Math.round(percentage)}%\n </span>\n )}\n </div>\n );\n}\n","import { forwardRef, type SelectHTMLAttributes } from \"react\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, \"children\"> {\n /** Options to display */\n options: SelectOption[];\n /** Placeholder text */\n placeholder?: string;\n /** Error message */\n error?: string;\n /** Label text */\n label?: string;\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ options, placeholder, error, label, disabled, className = \"\", id, ...props }, ref) => {\n const selectId = id || props.name;\n\n const baseStyles = [\n \"w-full px-3 py-2\",\n \"text-body text-neutral-900\",\n \"bg-white\",\n \"border rounded-md\",\n \"transition-colors duration-fast\",\n \"focus:outline-none focus:shadow-focus\",\n \"appearance-none\",\n \"bg-[url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%2378716C%22%20d%3D%22M6%208L2%204h8z%22%2F%3E%3C%2Fsvg%3E')]\",\n \"bg-[length:12px] bg-[right_12px_center] bg-no-repeat\",\n \"pr-10\",\n ].join(\" \");\n\n const stateStyles = error\n ? \"border-error focus:border-error\"\n : \"border-neutral-300 hover:border-neutral-500 focus:border-primary-500\";\n\n const disabledStyles = disabled\n ? \"bg-neutral-100 text-neutral-500 cursor-not-allowed hover:border-neutral-300\"\n : \"cursor-pointer\";\n\n const classes = [baseStyles, stateStyles, disabledStyles, className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className=\"flex flex-col gap-1\">\n {label && (\n <label\n htmlFor={selectId}\n className=\"text-body-sm font-medium text-neutral-700\"\n >\n {label}\n </label>\n )}\n <select\n ref={ref}\n id={selectId}\n disabled={disabled}\n className={classes}\n aria-invalid={!!error}\n {...props}\n >\n {placeholder && (\n <option value=\"\" disabled>\n {placeholder}\n </option>\n )}\n {options.map((option) => (\n <option\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.label}\n </option>\n ))}\n </select>\n {error && (\n <p className=\"text-body-sm text-error\">{error}</p>\n )}\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\n","import type { HTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from \"react\";\n\nexport interface TableProps extends HTMLAttributes<HTMLTableElement> {}\nexport interface TableHeaderProps extends HTMLAttributes<HTMLTableSectionElement> {}\nexport interface TableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {}\nexport interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {}\nexport interface TableHeadProps extends ThHTMLAttributes<HTMLTableCellElement> {}\nexport interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {}\n\nexport function Table({ className = \"\", children, ...props }: TableProps) {\n return (\n <div className=\"w-full overflow-auto\">\n <table\n className={`w-full border-collapse text-body ${className}`}\n {...props}\n >\n {children}\n </table>\n </div>\n );\n}\n\nexport function TableHeader({ className = \"\", children, ...props }: TableHeaderProps) {\n return (\n <thead className={`bg-neutral-50 ${className}`} {...props}>\n {children}\n </thead>\n );\n}\n\nexport function TableBody({ className = \"\", children, ...props }: TableBodyProps) {\n return (\n <tbody className={`divide-y divide-neutral-200 ${className}`} {...props}>\n {children}\n </tbody>\n );\n}\n\nexport function TableRow({ className = \"\", children, ...props }: TableRowProps) {\n return (\n <tr\n className={`border-b border-neutral-200 hover:bg-neutral-50 transition-colors ${className}`}\n {...props}\n >\n {children}\n </tr>\n );\n}\n\nexport function TableHead({ className = \"\", children, ...props }: TableHeadProps) {\n return (\n <th\n className={`px-4 py-3 text-left text-body-sm font-semibold text-neutral-700 ${className}`}\n {...props}\n >\n {children}\n </th>\n );\n}\n\nexport function TableCell({ className = \"\", children, ...props }: TableCellProps) {\n return (\n <td\n className={`px-4 py-3 text-neutral-900 ${className}`}\n {...props}\n >\n {children}\n </td>\n );\n}\n","import {\n createContext,\n useContext,\n useState,\n type ReactNode,\n type HTMLAttributes,\n} from \"react\";\n\ninterface TabsContextValue {\n activeTab: string;\n setActiveTab: (value: string) => void;\n}\n\nconst TabsContext = createContext<TabsContextValue | null>(null);\n\nfunction useTabsContext() {\n const context = useContext(TabsContext);\n if (!context) {\n throw new Error(\"Tabs components must be used within a Tabs provider\");\n }\n return context;\n}\n\nexport interface TabsProps extends HTMLAttributes<HTMLDivElement> {\n /** Default active tab value */\n defaultValue: string;\n /** Controlled active tab value */\n value?: string;\n /** Callback when tab changes */\n onValueChange?: (value: string) => void;\n children: ReactNode;\n}\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport interface TabsTriggerProps extends HTMLAttributes<HTMLButtonElement> {\n /** Value that identifies this tab */\n value: string;\n children: ReactNode;\n}\n\nexport interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {\n /** Value that identifies this content */\n value: string;\n children: ReactNode;\n}\n\nexport function Tabs({\n defaultValue,\n value,\n onValueChange,\n children,\n className = \"\",\n ...props\n}: TabsProps) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const activeTab = value ?? internalValue;\n\n const setActiveTab = (newValue: string) => {\n if (!value) {\n setInternalValue(newValue);\n }\n onValueChange?.(newValue);\n };\n\n return (\n <TabsContext.Provider value={{ activeTab, setActiveTab }}>\n <div className={className} {...props}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ children, className = \"\", ...props }: TabsListProps) {\n return (\n <div\n role=\"tablist\"\n className={`flex border-b border-neutral-200 ${className}`}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function TabsTrigger({\n value,\n children,\n className = \"\",\n ...props\n}: TabsTriggerProps) {\n const { activeTab, setActiveTab } = useTabsContext();\n const isActive = activeTab === value;\n\n const baseStyles = [\n \"px-4 py-2\",\n \"text-body font-medium\",\n \"border-b-2 -mb-px\",\n \"transition-colors duration-fast\",\n \"focus:outline-none focus-visible:shadow-focus\",\n ].join(\" \");\n\n const stateStyles = isActive\n ? \"border-primary-500 text-primary-600\"\n : \"border-transparent text-neutral-500 hover:text-neutral-700 hover:border-neutral-300\";\n\n return (\n <button\n role=\"tab\"\n aria-selected={isActive}\n onClick={() => setActiveTab(value)}\n className={`${baseStyles} ${stateStyles} ${className}`}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function TabsContent({\n value,\n children,\n className = \"\",\n ...props\n}: TabsContentProps) {\n const { activeTab } = useTabsContext();\n\n if (activeTab !== value) {\n return null;\n }\n\n return (\n <div role=\"tabpanel\" className={`py-4 ${className}`} {...props}>\n {children}\n </div>\n );\n}\n","import { forwardRef, type InputHTMLAttributes } from \"react\";\n\nexport interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n /** Label text */\n label?: string;\n}\n\nexport const Toggle = forwardRef<HTMLInputElement, ToggleProps>(\n ({ label, disabled, checked, className = \"\", id, ...props }, ref) => {\n const toggleId = id || props.name;\n\n const trackStyles = [\n \"relative inline-flex\",\n \"w-10 h-6\",\n \"rounded-full\",\n \"transition-colors duration-fast\",\n \"cursor-pointer\",\n checked ? \"bg-primary-500\" : \"bg-neutral-300\",\n disabled ? \"opacity-50 cursor-not-allowed\" : \"\",\n ].join(\" \");\n\n const thumbStyles = [\n \"absolute top-1 left-1\",\n \"w-4 h-4\",\n \"bg-white rounded-full\",\n \"shadow-sm\",\n \"transition-transform duration-fast\",\n checked ? \"translate-x-4\" : \"translate-x-0\",\n ].join(\" \");\n\n return (\n <div className={`flex items-center gap-2 ${className}`}>\n <label htmlFor={toggleId} className={trackStyles}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n id={toggleId}\n disabled={disabled}\n checked={checked}\n className=\"sr-only\"\n aria-checked={checked}\n {...props}\n />\n <span className={thumbStyles} />\n </label>\n {label && (\n <label\n htmlFor={toggleId}\n className={`text-body text-neutral-900 select-none ${\n disabled ? \"text-neutral-500 cursor-not-allowed\" : \"cursor-pointer\"\n }`}\n >\n {label}\n </label>\n )}\n </div>\n );\n }\n);\n\nToggle.displayName = \"Toggle\";\n","// Components\nexport * from \"./Alert\";\nexport * from \"./Avatar\";\nexport * from \"./Badge\";\nexport * from \"./Button\";\nexport * from \"./Card\";\nexport * from \"./Checkbox\";\nexport * from \"./Input\";\nexport * from \"./Label\";\nexport * from \"./Progress\";\nexport * from \"./Select\";\nexport * from \"./Table\";\nexport * from \"./Tabs\";\nexport * from \"./Toggle\";\n\n// Re-export tokens for convenience\nexport * from \"@akanaka/tokens\";\n"],"mappings":"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","names":["jsx","jsx","variantStyles","jsx","variantStyles","sizeStyles","jsx","variantStyles","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","sizeStyles","forwardRef","jsx","jsxs","sizeStyles","jsx","jsxs","forwardRef","jsx","jsxs","jsx","jsx","forwardRef","jsx","jsxs"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanaka/components",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "React components for the design system",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,7 +37,7 @@
37
37
  "tailwindcss"
38
38
  ],
39
39
  "dependencies": {
40
- "@akanaka/tokens": "0.2.0"
40
+ "@akanaka/tokens": "0.3.0"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "^18.0.0 || ^19.0.0",