@brycks/core-front 0.3.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/dist/components/data/List/List.cjs +1 -1
  2. package/dist/components/data/List/List.cjs.map +1 -1
  3. package/dist/components/data/List/List.js +1 -1
  4. package/dist/components/data/List/List.js.map +1 -1
  5. package/dist/components/data/Table/Table.cjs +1 -1
  6. package/dist/components/data/Table/Table.cjs.map +1 -1
  7. package/dist/components/data/Table/Table.js +196 -166
  8. package/dist/components/data/Table/Table.js.map +1 -1
  9. package/dist/components/data/TreeView/TreeView.cjs +1 -1
  10. package/dist/components/data/TreeView/TreeView.cjs.map +1 -1
  11. package/dist/components/data/TreeView/TreeView.js +1 -1
  12. package/dist/components/data/TreeView/TreeView.js.map +1 -1
  13. package/dist/components/data.cjs +1 -1
  14. package/dist/components/data.js +23 -21
  15. package/dist/components/feedback/Alert/Alert.cjs +1 -1
  16. package/dist/components/feedback/Alert/Alert.cjs.map +1 -1
  17. package/dist/components/feedback/Alert/Alert.js +20 -19
  18. package/dist/components/feedback/Alert/Alert.js.map +1 -1
  19. package/dist/components/feedback/Banner/Banner.cjs +2 -0
  20. package/dist/components/feedback/Banner/Banner.cjs.map +1 -0
  21. package/dist/components/feedback/Banner/Banner.js +77 -0
  22. package/dist/components/feedback/Banner/Banner.js.map +1 -0
  23. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.cjs +2 -0
  24. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
  25. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js +68 -0
  26. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js.map +1 -0
  27. package/dist/components/feedback/Drawer/Drawer.cjs +2 -2
  28. package/dist/components/feedback/Drawer/Drawer.cjs.map +1 -1
  29. package/dist/components/feedback/Drawer/Drawer.js +58 -57
  30. package/dist/components/feedback/Drawer/Drawer.js.map +1 -1
  31. package/dist/components/feedback/Modal/Modal.cjs +1 -1
  32. package/dist/components/feedback/Modal/Modal.cjs.map +1 -1
  33. package/dist/components/feedback/Modal/Modal.js +101 -91
  34. package/dist/components/feedback/Modal/Modal.js.map +1 -1
  35. package/dist/components/feedback/Popover/Popover.cjs +2 -2
  36. package/dist/components/feedback/Popover/Popover.cjs.map +1 -1
  37. package/dist/components/feedback/Popover/Popover.js +93 -85
  38. package/dist/components/feedback/Popover/Popover.js.map +1 -1
  39. package/dist/components/feedback/Toast/Toast.cjs +2 -2
  40. package/dist/components/feedback/Toast/Toast.cjs.map +1 -1
  41. package/dist/components/feedback/Toast/Toast.js +102 -93
  42. package/dist/components/feedback/Toast/Toast.js.map +1 -1
  43. package/dist/components/feedback.cjs +1 -1
  44. package/dist/components/feedback.js +17 -13
  45. package/dist/components/feedback.js.map +1 -1
  46. package/dist/components/form/Combobox/Combobox.cjs +2 -2
  47. package/dist/components/form/Combobox/Combobox.cjs.map +1 -1
  48. package/dist/components/form/Combobox/Combobox.js +187 -167
  49. package/dist/components/form/Combobox/Combobox.js.map +1 -1
  50. package/dist/components/form/DateInput/DateInput.cjs +1 -1
  51. package/dist/components/form/DateInput/DateInput.cjs.map +1 -1
  52. package/dist/components/form/DateInput/DateInput.js +2 -2
  53. package/dist/components/form/DateInput/DateInput.js.map +1 -1
  54. package/dist/components/form/DateRangePicker/DateRangePicker.cjs +1 -1
  55. package/dist/components/form/DateRangePicker/DateRangePicker.cjs.map +1 -1
  56. package/dist/components/form/DateRangePicker/DateRangePicker.js +34 -34
  57. package/dist/components/form/DateRangePicker/DateRangePicker.js.map +1 -1
  58. package/dist/components/form/DropZone/DropZone.cjs +1 -1
  59. package/dist/components/form/DropZone/DropZone.cjs.map +1 -1
  60. package/dist/components/form/DropZone/DropZone.js +10 -10
  61. package/dist/components/form/DropZone/DropZone.js.map +1 -1
  62. package/dist/components/form/FileInput/FileInput.cjs +1 -1
  63. package/dist/components/form/FileInput/FileInput.cjs.map +1 -1
  64. package/dist/components/form/FileInput/FileInput.js +1 -1
  65. package/dist/components/form/FileInput/FileInput.js.map +1 -1
  66. package/dist/components/form/FormCard/FormCard.cjs +1 -1
  67. package/dist/components/form/FormCard/FormCard.cjs.map +1 -1
  68. package/dist/components/form/FormCard/FormCard.js +9 -9
  69. package/dist/components/form/FormCard/FormCard.js.map +1 -1
  70. package/dist/components/form/FormField/FormField.cjs +1 -1
  71. package/dist/components/form/FormField/FormField.cjs.map +1 -1
  72. package/dist/components/form/FormField/FormField.js +67 -55
  73. package/dist/components/form/FormField/FormField.js.map +1 -1
  74. package/dist/components/form/MultiSelect/MultiSelect.cjs +1 -1
  75. package/dist/components/form/MultiSelect/MultiSelect.cjs.map +1 -1
  76. package/dist/components/form/MultiSelect/MultiSelect.js +2 -3
  77. package/dist/components/form/MultiSelect/MultiSelect.js.map +1 -1
  78. package/dist/components/form/Radio/Radio.cjs +1 -1
  79. package/dist/components/form/Radio/Radio.cjs.map +1 -1
  80. package/dist/components/form/Radio/Radio.js +20 -20
  81. package/dist/components/form/Radio/Radio.js.map +1 -1
  82. package/dist/components/form/SearchInput/SearchInput.cjs +2 -0
  83. package/dist/components/form/SearchInput/SearchInput.cjs.map +1 -0
  84. package/dist/components/form/SearchInput/SearchInput.js +68 -0
  85. package/dist/components/form/SearchInput/SearchInput.js.map +1 -0
  86. package/dist/components/form/TagInput/TagInput.cjs +1 -1
  87. package/dist/components/form/TagInput/TagInput.cjs.map +1 -1
  88. package/dist/components/form/TagInput/TagInput.js +104 -102
  89. package/dist/components/form/TagInput/TagInput.js.map +1 -1
  90. package/dist/components/form/TimePicker/TimePicker.cjs +1 -1
  91. package/dist/components/form/TimePicker/TimePicker.cjs.map +1 -1
  92. package/dist/components/form/TimePicker/TimePicker.js +29 -30
  93. package/dist/components/form/TimePicker/TimePicker.js.map +1 -1
  94. package/dist/components/form.cjs +1 -1
  95. package/dist/components/form.js +15 -13
  96. package/dist/components/form.js.map +1 -1
  97. package/dist/components/layout/Card/Card.cjs +1 -1
  98. package/dist/components/layout/Card/Card.cjs.map +1 -1
  99. package/dist/components/layout/Card/Card.js +7 -5
  100. package/dist/components/layout/Card/Card.js.map +1 -1
  101. package/dist/components/layout/Collapse/Collapse.cjs.map +1 -1
  102. package/dist/components/layout/Collapse/Collapse.js.map +1 -1
  103. package/dist/components/media/Image/Image.cjs +1 -1
  104. package/dist/components/media/Image/Image.cjs.map +1 -1
  105. package/dist/components/media/Image/Image.js +9 -9
  106. package/dist/components/media/Image/Image.js.map +1 -1
  107. package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs +1 -1
  108. package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs.map +1 -1
  109. package/dist/components/media/ImageThumbnail/ImageThumbnail.js +6 -6
  110. package/dist/components/media/ImageThumbnail/ImageThumbnail.js.map +1 -1
  111. package/dist/components/navigation/Accordion/Accordion.cjs +1 -1
  112. package/dist/components/navigation/Accordion/Accordion.cjs.map +1 -1
  113. package/dist/components/navigation/Accordion/Accordion.js +0 -1
  114. package/dist/components/navigation/Accordion/Accordion.js.map +1 -1
  115. package/dist/components/navigation/Menu/Menu.cjs +1 -1
  116. package/dist/components/navigation/Menu/Menu.cjs.map +1 -1
  117. package/dist/components/navigation/Menu/Menu.js +87 -86
  118. package/dist/components/navigation/Menu/Menu.js.map +1 -1
  119. package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
  120. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -1
  121. package/dist/components/navigation/Pagination/Pagination.js +107 -99
  122. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  123. package/dist/components/navigation/SegmentedControl/SegmentedControl.cjs +2 -0
  124. package/dist/components/navigation/SegmentedControl/SegmentedControl.cjs.map +1 -0
  125. package/dist/components/navigation/SegmentedControl/SegmentedControl.js +90 -0
  126. package/dist/components/navigation/SegmentedControl/SegmentedControl.js.map +1 -0
  127. package/dist/components/navigation.cjs +1 -1
  128. package/dist/components/navigation.js +25 -23
  129. package/dist/components/navigation.js.map +1 -1
  130. package/dist/components/utility/Avatar/Avatar.cjs +1 -1
  131. package/dist/components/utility/Avatar/Avatar.cjs.map +1 -1
  132. package/dist/components/utility/Avatar/Avatar.js +18 -18
  133. package/dist/components/utility/Avatar/Avatar.js.map +1 -1
  134. package/dist/components/utility/Badge/Badge.cjs +1 -1
  135. package/dist/components/utility/Badge/Badge.cjs.map +1 -1
  136. package/dist/components/utility/Badge/Badge.js +31 -23
  137. package/dist/components/utility/Badge/Badge.js.map +1 -1
  138. package/dist/components/utility/Kbd/Kbd.cjs +2 -0
  139. package/dist/components/utility/Kbd/Kbd.cjs.map +1 -0
  140. package/dist/components/utility/Kbd/Kbd.js +20 -0
  141. package/dist/components/utility/Kbd/Kbd.js.map +1 -0
  142. package/dist/components/utility/Logo/Logo.cjs +1 -1
  143. package/dist/components/utility/Logo/Logo.cjs.map +1 -1
  144. package/dist/components/utility/Logo/Logo.js +21 -21
  145. package/dist/components/utility/Logo/Logo.js.map +1 -1
  146. package/dist/components/utility.cjs +1 -1
  147. package/dist/components/utility.js +9 -7
  148. package/dist/components/utility.js.map +1 -1
  149. package/dist/data.d.ts +34 -1
  150. package/dist/design-system/themes/ThemeProvider.cjs +1 -1
  151. package/dist/design-system/themes/ThemeProvider.cjs.map +1 -1
  152. package/dist/design-system/themes/ThemeProvider.js +46 -46
  153. package/dist/design-system/themes/ThemeProvider.js.map +1 -1
  154. package/dist/design-system/tokens/zIndex.cjs +1 -1
  155. package/dist/design-system/tokens/zIndex.cjs.map +1 -1
  156. package/dist/design-system/tokens/zIndex.js +2 -0
  157. package/dist/design-system/tokens/zIndex.js.map +1 -1
  158. package/dist/feedback.d.ts +75 -2
  159. package/dist/form.d.ts +41 -0
  160. package/dist/index.cjs +1 -1
  161. package/dist/index.d.ts +213 -3
  162. package/dist/index.js +177 -165
  163. package/dist/index.js.map +1 -1
  164. package/dist/navigation.d.ts +58 -0
  165. package/dist/styles.css +1 -1
  166. package/dist/tokens.d.ts +2 -0
  167. package/dist/utility.d.ts +19 -0
  168. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.js","sources":["../../../../src/components/navigation/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["/**\n * SegmentedControl Component\n *\n * A compact single-select control for switching between a small set of\n * mutually-exclusive options (e.g. a view toggle: list / kanban / table).\n *\n * Implemented as an ARIA `radiogroup` with roving focus: arrow keys move the\n * selection, Home/End jump to the ends. All color styles are handled via CSS\n * classes for easy customization.\n */\n\nimport React, {\n forwardRef,\n useRef,\n type ReactNode,\n type KeyboardEvent,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type SegmentedControlSize = 'sm' | 'md' | 'lg'\n\nexport interface SegmentedControlOption<T extends string = string> {\n /** Unique value */\n value: T\n /** Display label */\n label: ReactNode\n /** Optional leading icon */\n icon?: ReactNode\n /** Whether the option is disabled */\n disabled?: boolean\n}\n\nexport interface SegmentedControlProps<T extends string = string> {\n /** Available options */\n options: SegmentedControlOption<T>[]\n /** Currently selected value (controlled) */\n value: T\n /** Callback when the selection changes */\n onValueChange: (value: T) => void\n /** Component size */\n size?: SegmentedControlSize\n /** Whether the control should fill its container width */\n fullWidth?: boolean\n /** Accessible label for the group */\n 'aria-label'?: string\n /** ID of an element that labels the group */\n 'aria-labelledby'?: string\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nfunction SegmentedControlInner<T extends string = string>(\n {\n options,\n value,\n onValueChange,\n size = 'md',\n fullWidth = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n className,\n testId,\n }: SegmentedControlProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const buttonsRef = useRef<(HTMLButtonElement | null)[]>([])\n\n const enabledIndexes = options\n .map((opt, i) => (opt.disabled ? -1 : i))\n .filter((i) => i !== -1)\n\n const focusByIndex = (index: number) => {\n const btn = buttonsRef.current[index]\n btn?.focus()\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>, currentIndex: number) => {\n if (enabledIndexes.length === 0) return\n\n const posInEnabled = enabledIndexes.indexOf(currentIndex)\n let nextIndex: number | null = null\n\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n nextIndex = enabledIndexes[(posInEnabled + 1) % enabledIndexes.length]\n break\n case 'ArrowLeft':\n case 'ArrowUp':\n nextIndex = enabledIndexes[(posInEnabled - 1 + enabledIndexes.length) % enabledIndexes.length]\n break\n case 'Home':\n nextIndex = enabledIndexes[0]\n break\n case 'End':\n nextIndex = enabledIndexes[enabledIndexes.length - 1]\n break\n default:\n return\n }\n\n if (nextIndex !== null) {\n e.preventDefault()\n focusByIndex(nextIndex)\n onValueChange(options[nextIndex].value)\n }\n }\n\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(\n 'brycks-segmented',\n `brycks-segmented--${size}`,\n fullWidth && 'brycks-segmented--full-width',\n className\n )}\n data-testid={testId}\n >\n {options.map((option, index) => {\n const isSelected = option.value === value\n return (\n <button\n key={option.value}\n ref={(node) => {\n buttonsRef.current[index] = node\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={isSelected}\n disabled={option.disabled}\n // Roving tabindex: only the selected (or first enabled) item is tabbable.\n tabIndex={isSelected ? 0 : -1}\n className={cx(\n 'brycks-segmented__item',\n isSelected && 'brycks-segmented__item--selected'\n )}\n onClick={() => !option.disabled && onValueChange(option.value)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n >\n {option.icon && <span className=\"brycks-segmented__icon\">{option.icon}</span>}\n {option.label}\n </button>\n )\n })}\n </div>\n )\n}\n\nexport const SegmentedControl = forwardRef(SegmentedControlInner) as <T extends string = string>(\n props: SegmentedControlProps<T> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => React.JSX.Element\n\n// @ts-expect-error -- attach displayName to the cast forwardRef\nSegmentedControl.displayName = 'SegmentedControl'\n"],"names":["SegmentedControlInner","options","value","onValueChange","size","fullWidth","ariaLabel","ariaLabelledby","className","testId","ref","buttonsRef","useRef","enabledIndexes","opt","i","focusByIndex","index","handleKeyDown","currentIndex","posInEnabled","nextIndex","jsx","cx","option","isSelected","jsxs","node","e","SegmentedControl","forwardRef"],"mappings":";;;AAqDA,SAASA,EACP;AAAA,EACE,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,cAAcC;AAAA,EACd,mBAAmBC;AAAA,EACnB,WAAAC;AAAA,EACA,QAAAC;AACF,GACAC,GACA;AACA,QAAMC,IAAaC,EAAqC,EAAE,GAEpDC,IAAiBZ,EACpB,IAAI,CAACa,GAAKC,MAAOD,EAAI,WAAW,KAAKC,CAAE,EACvC,OAAO,CAACA,MAAMA,MAAM,EAAE,GAEnBC,IAAe,CAACC,MAAkB;AAEtC,IADYN,EAAW,QAAQM,CAAK,GAC/B,MAAA;AAAA,EACP,GAEMC,IAAgB,CAAC,GAAqCC,MAAyB;AACnF,QAAIN,EAAe,WAAW,EAAG;AAEjC,UAAMO,IAAeP,EAAe,QAAQM,CAAY;AACxD,QAAIE,IAA2B;AAE/B,YAAQ,EAAE,KAAA;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AACH,QAAAA,IAAYR,GAAgBO,IAAe,KAAKP,EAAe,MAAM;AACrE;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,QAAAQ,IAAYR,GAAgBO,IAAe,IAAIP,EAAe,UAAUA,EAAe,MAAM;AAC7F;AAAA,MACF,KAAK;AACH,QAAAQ,IAAYR,EAAe,CAAC;AAC5B;AAAA,MACF,KAAK;AACH,QAAAQ,IAAYR,EAAeA,EAAe,SAAS,CAAC;AACpD;AAAA,MACF;AACE;AAAA,IAAA;AAGJ,IAAIQ,MAAc,SAChB,EAAE,eAAA,GACFL,EAAaK,CAAS,GACtBlB,EAAcF,EAAQoB,CAAS,EAAE,KAAK;AAAA,EAE1C;AAEA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAZ;AAAA,MACA,MAAK;AAAA,MACL,cAAYJ;AAAA,MACZ,mBAAiBC;AAAA,MACjB,WAAWgB;AAAA,QACT;AAAA,QACA,qBAAqBnB,CAAI;AAAA,QACzBC,KAAa;AAAA,QACbG;AAAA,MAAA;AAAA,MAEF,eAAaC;AAAA,MAEZ,UAAAR,EAAQ,IAAI,CAACuB,GAAQP,MAAU;AAC9B,cAAMQ,IAAaD,EAAO,UAAUtB;AACpC,eACE,gBAAAwB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,KAAK,CAACC,MAAS;AACb,cAAAhB,EAAW,QAAQM,CAAK,IAAIU;AAAA,YAC9B;AAAA,YACA,MAAK;AAAA,YACL,MAAK;AAAA,YACL,gBAAcF;AAAA,YACd,UAAUD,EAAO;AAAA,YAEjB,UAAUC,IAAa,IAAI;AAAA,YAC3B,WAAWF;AAAA,cACT;AAAA,cACAE,KAAc;AAAA,YAAA;AAAA,YAEhB,SAAS,MAAM,CAACD,EAAO,YAAYrB,EAAcqB,EAAO,KAAK;AAAA,YAC7D,WAAW,CAACI,MAAMV,EAAcU,GAAGX,CAAK;AAAA,YAEvC,UAAA;AAAA,cAAAO,EAAO,QAAQ,gBAAAF,EAAC,QAAA,EAAK,WAAU,0BAA0B,YAAO,MAAK;AAAA,cACrEE,EAAO;AAAA,YAAA;AAAA,UAAA;AAAA,UAlBHA,EAAO;AAAA,QAAA;AAAA,MAqBlB,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,MAAMK,IAAmBC,EAAW9B,CAAqB;AAKhE6B,EAAiB,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./navigation/Tabs/Tabs.cjs"),n=require("./navigation/Accordion/Accordion.cjs"),r=require("./navigation/Dropdown/Dropdown.cjs"),o=require("./navigation/Menu/Menu.cjs"),c=require("./navigation/Pagination/Pagination.cjs"),t=require("./navigation/Breadcrumb/Breadcrumb.cjs"),i=require("./navigation/Stepper/Stepper.cjs"),u=require("./navigation/ContextMenu/ContextMenu.cjs");exports.Tab=e.Tab;exports.TabList=e.TabList;exports.TabPanel=e.TabPanel;exports.TabPanels=e.TabPanels;exports.Tabs=e.Tabs;exports.Accordion=n.Accordion;exports.AccordionContent=n.AccordionContent;exports.AccordionItem=n.AccordionItem;exports.AccordionTrigger=n.AccordionTrigger;exports.Dropdown=r.Dropdown;exports.DropdownDivider=r.DropdownDivider;exports.DropdownItem=r.DropdownItem;exports.DropdownLabel=r.DropdownLabel;exports.Menu=o.Menu;exports.MenuDivider=o.MenuDivider;exports.MenuGroup=o.MenuGroup;exports.MenuItem=o.MenuItem;exports.Pagination=c.Pagination;exports.Breadcrumb=t.Breadcrumb;exports.BreadcrumbItem=t.BreadcrumbItem;exports.Step=i.Step;exports.Stepper=i.Stepper;exports.ContextMenu=u.ContextMenu;exports.useContextMenu=u.useContextMenu;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./navigation/Tabs/Tabs.cjs"),n=require("./navigation/Accordion/Accordion.cjs"),o=require("./navigation/Dropdown/Dropdown.cjs"),r=require("./navigation/Menu/Menu.cjs"),c=require("./navigation/Pagination/Pagination.cjs"),t=require("./navigation/Breadcrumb/Breadcrumb.cjs"),i=require("./navigation/Stepper/Stepper.cjs"),u=require("./navigation/ContextMenu/ContextMenu.cjs"),d=require("./navigation/SegmentedControl/SegmentedControl.cjs");exports.Tab=e.Tab;exports.TabList=e.TabList;exports.TabPanel=e.TabPanel;exports.TabPanels=e.TabPanels;exports.Tabs=e.Tabs;exports.Accordion=n.Accordion;exports.AccordionContent=n.AccordionContent;exports.AccordionItem=n.AccordionItem;exports.AccordionTrigger=n.AccordionTrigger;exports.Dropdown=o.Dropdown;exports.DropdownDivider=o.DropdownDivider;exports.DropdownItem=o.DropdownItem;exports.DropdownLabel=o.DropdownLabel;exports.Menu=r.Menu;exports.MenuDivider=r.MenuDivider;exports.MenuGroup=r.MenuGroup;exports.MenuItem=r.MenuItem;exports.Pagination=c.Pagination;exports.Breadcrumb=t.Breadcrumb;exports.BreadcrumbItem=t.BreadcrumbItem;exports.Step=i.Step;exports.Stepper=i.Stepper;exports.ContextMenu=u.ContextMenu;exports.useContextMenu=u.useContextMenu;exports.SegmentedControl=d.SegmentedControl;
2
2
  //# sourceMappingURL=navigation.cjs.map
@@ -1,33 +1,35 @@
1
- import { Tab as e, TabList as n, TabPanel as t, TabPanels as p, Tabs as m } from "./navigation/Tabs/Tabs.js";
2
- import { Accordion as d, AccordionContent as i, AccordionItem as c, AccordionTrigger as u } from "./navigation/Accordion/Accordion.js";
3
- import { Dropdown as b, DropdownDivider as f, DropdownItem as D, DropdownLabel as M } from "./navigation/Dropdown/Dropdown.js";
4
- import { Menu as s, MenuDivider as w, MenuGroup as A, MenuItem as I } from "./navigation/Menu/Menu.js";
5
- import { Pagination as l } from "./navigation/Pagination/Pagination.js";
6
- import { Breadcrumb as P, BreadcrumbItem as v } from "./navigation/Breadcrumb/Breadcrumb.js";
7
- import { Step as L, Stepper as S } from "./navigation/Stepper/Stepper.js";
1
+ import { Tab as r, TabList as t, TabPanel as n, TabPanels as p, Tabs as m } from "./navigation/Tabs/Tabs.js";
2
+ import { Accordion as a, AccordionContent as i, AccordionItem as x, AccordionTrigger as c } from "./navigation/Accordion/Accordion.js";
3
+ import { Dropdown as f, DropdownDivider as b, DropdownItem as D, DropdownLabel as M } from "./navigation/Dropdown/Dropdown.js";
4
+ import { Menu as g, MenuDivider as l, MenuGroup as s, MenuItem as w } from "./navigation/Menu/Menu.js";
5
+ import { Pagination as C } from "./navigation/Pagination/Pagination.js";
6
+ import { Breadcrumb as P, BreadcrumbItem as S } from "./navigation/Breadcrumb/Breadcrumb.js";
7
+ import { Step as B, Stepper as L } from "./navigation/Stepper/Stepper.js";
8
8
  import { ContextMenu as h, useContextMenu as j } from "./navigation/ContextMenu/ContextMenu.js";
9
+ import { SegmentedControl as q } from "./navigation/SegmentedControl/SegmentedControl.js";
9
10
  export {
10
- d as Accordion,
11
+ a as Accordion,
11
12
  i as AccordionContent,
12
- c as AccordionItem,
13
- u as AccordionTrigger,
13
+ x as AccordionItem,
14
+ c as AccordionTrigger,
14
15
  P as Breadcrumb,
15
- v as BreadcrumbItem,
16
+ S as BreadcrumbItem,
16
17
  h as ContextMenu,
17
- b as Dropdown,
18
- f as DropdownDivider,
18
+ f as Dropdown,
19
+ b as DropdownDivider,
19
20
  D as DropdownItem,
20
21
  M as DropdownLabel,
21
- s as Menu,
22
- w as MenuDivider,
23
- A as MenuGroup,
24
- I as MenuItem,
25
- l as Pagination,
26
- L as Step,
27
- S as Stepper,
28
- e as Tab,
29
- n as TabList,
30
- t as TabPanel,
22
+ g as Menu,
23
+ l as MenuDivider,
24
+ s as MenuGroup,
25
+ w as MenuItem,
26
+ C as Pagination,
27
+ q as SegmentedControl,
28
+ B as Step,
29
+ L as Stepper,
30
+ r as Tab,
31
+ t as TabList,
32
+ n as TabPanel,
31
33
  p as TabPanels,
32
34
  m as Tabs,
33
35
  j as useContextMenu
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"navigation.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),b=require("react"),y=require("../../../utils/styles.cjs"),x={xs:24,sm:32,md:40,lg:48,xl:64},A={xs:10,sm:12,md:14,lg:18,xl:24};function j(s){const t=s.trim().split(/\s+/);return t.length===1?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[t.length-1].charAt(0)).toUpperCase()}const g=b.forwardRef(function({size:t="md",name:e,src:r,alt:i,children:o,interactive:c=!1,className:d,testId:l,style:f,...m},u){const a=x[t],v=A[t],h={width:a,height:a,minWidth:a,borderRadius:"50%",background:r?"transparent":"linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)",color:"white",fontWeight:600,fontSize:v,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",border:"none",padding:0,cursor:c?"pointer":"default",...f},p=r?n.jsx("img",{src:r,alt:i||e||"Avatar",style:{width:"100%",height:"100%",objectFit:"cover"}}):o||(e?j(e):"?");return c?n.jsx("button",{ref:u,type:"button",className:y.cx("brycks-avatar",d),style:h,"data-testid":l,...m,children:p}):n.jsx("div",{ref:u,className:y.cx("brycks-avatar",d),style:h,"data-testid":l,"aria-hidden":!i,children:p})});g.displayName="Avatar";exports.Avatar=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),b=require("react"),f=require("../../../utils/styles.cjs"),x={xs:24,sm:32,md:40,lg:48,xl:64},A={xs:10,sm:12,md:14,lg:18,xl:24};function j(s){const t=s.trim().split(/\s+/);return t.length===1?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[t.length-1].charAt(0)).toUpperCase()}const h=b.forwardRef(function({size:t="md",name:e,src:r,alt:i,children:o,interactive:c=!1,className:d,testId:l,style:g,...m},u){const a=x[t],v=A[t],p={width:a,height:a,minWidth:a,borderRadius:"50%",background:r?"transparent":"var(--brycks-primary-default)",color:"var(--brycks-primary-foreground)",fontWeight:600,fontSize:v,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",border:"none",padding:0,cursor:c?"pointer":"default",...g},y=r?n.jsx("img",{src:r,alt:i||e||"Avatar",style:{width:"100%",height:"100%",objectFit:"cover"}}):o||(e?j(e):"?");return c?n.jsx("button",{ref:u,type:"button",className:f.cx("brycks-avatar",d),style:p,"data-testid":l,...m,children:y}):n.jsx("div",{ref:u,className:f.cx("brycks-avatar",d),style:p,"data-testid":l,"aria-hidden":!i,children:y})});h.displayName="Avatar";exports.Avatar=h;
2
2
  //# sourceMappingURL=Avatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/utility/Avatar/Avatar.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type ButtonHTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<AvatarSize, number> = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 48,\n xl: 64,\n}\n\nconst fontSizeMap: Record<AvatarSize, number> = {\n xs: 10,\n sm: 12,\n md: 14,\n lg: 18,\n xl: 24,\n}\n\nexport interface AvatarProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Size of the avatar */\n size?: AvatarSize\n /** Name to display initials from */\n name?: string\n /** Image source URL */\n src?: string\n /** Alt text for the image */\n alt?: string\n /** Custom content to render inside */\n children?: ReactNode\n /** Whether the avatar is interactive (button) or static (div) */\n interactive?: boolean\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length === 1) {\n return parts[0].charAt(0).toUpperCase()\n }\n return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase()\n}\n\nexport const Avatar = forwardRef<HTMLButtonElement | HTMLDivElement, AvatarProps>(\n function Avatar(\n {\n size = 'md',\n name,\n src,\n alt,\n children,\n interactive = false,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n\n const avatarStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: '50%',\n background: src\n ? 'transparent'\n : 'linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)',\n color: 'white',\n fontWeight: 600,\n fontSize,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n border: 'none',\n padding: 0,\n cursor: interactive ? 'pointer' : 'default',\n ...style,\n }\n\n const content = src ? (\n <img\n src={src}\n alt={alt || name || 'Avatar'}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n />\n ) : children ? (\n children\n ) : name ? (\n getInitials(name)\n ) : (\n '?'\n )\n\n if (interactive) {\n return (\n <button\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n {...props}\n >\n {content}\n </button>\n )\n }\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n aria-hidden={!alt}\n >\n {content}\n </div>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n"],"names":["sizeMap","fontSizeMap","getInitials","name","parts","Avatar","forwardRef","size","src","alt","children","interactive","className","testId","style","props","ref","dimension","fontSize","avatarStyle","content","jsx","cx"],"mappings":"+KAKMA,EAAsC,CAC1C,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAEMC,EAA0C,CAC9C,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAqBA,SAASC,EAAYC,EAAsB,CACzC,MAAMC,EAAQD,EAAK,KAAA,EAAO,MAAM,KAAK,EACrC,OAAIC,EAAM,SAAW,EACZA,EAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAA,GAEpBA,EAAM,CAAC,EAAE,OAAO,CAAC,EAAIA,EAAMA,EAAM,OAAS,CAAC,EAAE,OAAO,CAAC,GAAG,YAAA,CAClE,CAEO,MAAMC,EAASC,EAAAA,WACpB,SACE,CACE,KAAAC,EAAO,KACP,KAAAJ,EACA,IAAAK,EACA,IAAAC,EACA,SAAAC,EACA,YAAAC,EAAc,GACd,UAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAYjB,EAAQO,CAAI,EACxBW,EAAWjB,EAAYM,CAAI,EAE3BY,EAA6B,CACjC,MAAOF,EACP,OAAQA,EACR,SAAUA,EACV,aAAc,MACd,WAAYT,EACR,cACA,4FACJ,MAAO,QACP,WAAY,IACZ,SAAAU,EACA,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,SAAU,SACV,OAAQ,OACR,QAAS,EACT,OAAQP,EAAc,UAAY,UAClC,GAAGG,CAAA,EAGCM,EAAUZ,EACda,EAAAA,IAAC,MAAA,CACC,IAAAb,EACA,IAAKC,GAAON,GAAQ,SACpB,MAAO,CACL,MAAO,OACP,OAAQ,OACR,UAAW,OAAA,CACb,CAAA,EAEAO,IAEAP,EACFD,EAAYC,CAAI,EAEhB,KAGF,OAAIQ,EAEAU,EAAAA,IAAC,SAAA,CACC,IAAAL,EACA,KAAK,SACL,UAAWM,EAAAA,GAAG,gBAAiBV,CAAS,EACxC,MAAOO,EACP,cAAaN,EACZ,GAAGE,EAEH,SAAAK,CAAA,CAAA,EAMLC,EAAAA,IAAC,MAAA,CACC,IAAAL,EACA,UAAWM,EAAAA,GAAG,gBAAiBV,CAAS,EACxC,MAAOO,EACP,cAAaN,EACb,cAAa,CAACJ,EAEb,SAAAW,CAAA,CAAA,CAGP,CACF,EAEAf,EAAO,YAAc"}
1
+ {"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/utility/Avatar/Avatar.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type ButtonHTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<AvatarSize, number> = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 48,\n xl: 64,\n}\n\nconst fontSizeMap: Record<AvatarSize, number> = {\n xs: 10,\n sm: 12,\n md: 14,\n lg: 18,\n xl: 24,\n}\n\nexport interface AvatarProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Size of the avatar */\n size?: AvatarSize\n /** Name to display initials from */\n name?: string\n /** Image source URL */\n src?: string\n /** Alt text for the image */\n alt?: string\n /** Custom content to render inside */\n children?: ReactNode\n /** Whether the avatar is interactive (button) or static (div) */\n interactive?: boolean\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length === 1) {\n return parts[0].charAt(0).toUpperCase()\n }\n return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase()\n}\n\nexport const Avatar = forwardRef<HTMLButtonElement | HTMLDivElement, AvatarProps>(\n function Avatar(\n {\n size = 'md',\n name,\n src,\n alt,\n children,\n interactive = false,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n\n const avatarStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: '50%',\n background: src ? 'transparent' : 'var(--brycks-primary-default)',\n color: 'var(--brycks-primary-foreground)',\n fontWeight: 600,\n fontSize,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n border: 'none',\n padding: 0,\n cursor: interactive ? 'pointer' : 'default',\n ...style,\n }\n\n const content = src ? (\n <img\n src={src}\n alt={alt || name || 'Avatar'}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n />\n ) : children ? (\n children\n ) : name ? (\n getInitials(name)\n ) : (\n '?'\n )\n\n if (interactive) {\n return (\n <button\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n {...props}\n >\n {content}\n </button>\n )\n }\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n aria-hidden={!alt}\n >\n {content}\n </div>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n"],"names":["sizeMap","fontSizeMap","getInitials","name","parts","Avatar","forwardRef","size","src","alt","children","interactive","className","testId","style","props","ref","dimension","fontSize","avatarStyle","content","jsx","cx"],"mappings":"+KAKMA,EAAsC,CAC1C,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAEMC,EAA0C,CAC9C,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAqBA,SAASC,EAAYC,EAAsB,CACzC,MAAMC,EAAQD,EAAK,KAAA,EAAO,MAAM,KAAK,EACrC,OAAIC,EAAM,SAAW,EACZA,EAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAA,GAEpBA,EAAM,CAAC,EAAE,OAAO,CAAC,EAAIA,EAAMA,EAAM,OAAS,CAAC,EAAE,OAAO,CAAC,GAAG,YAAA,CAClE,CAEO,MAAMC,EAASC,EAAAA,WACpB,SACE,CACE,KAAAC,EAAO,KACP,KAAAJ,EACA,IAAAK,EACA,IAAAC,EACA,SAAAC,EACA,YAAAC,EAAc,GACd,UAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAYjB,EAAQO,CAAI,EACxBW,EAAWjB,EAAYM,CAAI,EAE3BY,EAA6B,CACjC,MAAOF,EACP,OAAQA,EACR,SAAUA,EACV,aAAc,MACd,WAAYT,EAAM,cAAgB,gCAClC,MAAO,mCACP,WAAY,IACZ,SAAAU,EACA,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,SAAU,SACV,OAAQ,OACR,QAAS,EACT,OAAQP,EAAc,UAAY,UAClC,GAAGG,CAAA,EAGCM,EAAUZ,EACda,EAAAA,IAAC,MAAA,CACC,IAAAb,EACA,IAAKC,GAAON,GAAQ,SACpB,MAAO,CACL,MAAO,OACP,OAAQ,OACR,UAAW,OAAA,CACb,CAAA,EAEAO,IAEAP,EACFD,EAAYC,CAAI,EAEhB,KAGF,OAAIQ,EAEAU,EAAAA,IAAC,SAAA,CACC,IAAAL,EACA,KAAK,SACL,UAAWM,EAAAA,GAAG,gBAAiBV,CAAS,EACxC,MAAOO,EACP,cAAaN,EACZ,GAAGE,EAEH,SAAAK,CAAA,CAAA,EAMLC,EAAAA,IAAC,MAAA,CACC,IAAAL,EACA,UAAWM,EAAAA,GAAG,gBAAiBV,CAAS,EACxC,MAAOO,EACP,cAAaN,EACb,cAAa,CAACJ,EAEb,SAAAW,CAAA,CAAA,CAGP,CACF,EAEAf,EAAO,YAAc"}
@@ -14,8 +14,8 @@ const b = {
14
14
  lg: 18,
15
15
  xl: 24
16
16
  };
17
- function A(i) {
18
- const t = i.trim().split(/\s+/);
17
+ function A(o) {
18
+ const t = o.trim().split(/\s+/);
19
19
  return t.length === 1 ? t[0].charAt(0).toUpperCase() : (t[0].charAt(0) + t[t.length - 1].charAt(0)).toUpperCase();
20
20
  }
21
21
  const k = v(
@@ -23,23 +23,23 @@ const k = v(
23
23
  size: t = "md",
24
24
  name: r,
25
25
  src: a,
26
- alt: o,
26
+ alt: i,
27
27
  children: s,
28
28
  interactive: d = !1,
29
29
  className: c,
30
30
  testId: l,
31
- style: g,
32
- ...u
31
+ style: u,
32
+ ...y
33
33
  }, p) {
34
- const e = b[t], y = x[t], m = {
34
+ const e = b[t], g = x[t], f = {
35
35
  width: e,
36
36
  height: e,
37
37
  minWidth: e,
38
38
  borderRadius: "50%",
39
- background: a ? "transparent" : "linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)",
40
- color: "white",
39
+ background: a ? "transparent" : "var(--brycks-primary-default)",
40
+ color: "var(--brycks-primary-foreground)",
41
41
  fontWeight: 600,
42
- fontSize: y,
42
+ fontSize: g,
43
43
  display: "flex",
44
44
  alignItems: "center",
45
45
  justifyContent: "center",
@@ -47,12 +47,12 @@ const k = v(
47
47
  border: "none",
48
48
  padding: 0,
49
49
  cursor: d ? "pointer" : "default",
50
- ...g
51
- }, f = a ? /* @__PURE__ */ n(
50
+ ...u
51
+ }, m = a ? /* @__PURE__ */ n(
52
52
  "img",
53
53
  {
54
54
  src: a,
55
- alt: o || r || "Avatar",
55
+ alt: i || r || "Avatar",
56
56
  style: {
57
57
  width: "100%",
58
58
  height: "100%",
@@ -66,20 +66,20 @@ const k = v(
66
66
  ref: p,
67
67
  type: "button",
68
68
  className: h("brycks-avatar", c),
69
- style: m,
69
+ style: f,
70
70
  "data-testid": l,
71
- ...u,
72
- children: f
71
+ ...y,
72
+ children: m
73
73
  }
74
74
  ) : /* @__PURE__ */ n(
75
75
  "div",
76
76
  {
77
77
  ref: p,
78
78
  className: h("brycks-avatar", c),
79
- style: m,
79
+ style: f,
80
80
  "data-testid": l,
81
- "aria-hidden": !o,
82
- children: f
81
+ "aria-hidden": !i,
82
+ children: m
83
83
  }
84
84
  );
85
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/utility/Avatar/Avatar.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type ButtonHTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<AvatarSize, number> = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 48,\n xl: 64,\n}\n\nconst fontSizeMap: Record<AvatarSize, number> = {\n xs: 10,\n sm: 12,\n md: 14,\n lg: 18,\n xl: 24,\n}\n\nexport interface AvatarProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Size of the avatar */\n size?: AvatarSize\n /** Name to display initials from */\n name?: string\n /** Image source URL */\n src?: string\n /** Alt text for the image */\n alt?: string\n /** Custom content to render inside */\n children?: ReactNode\n /** Whether the avatar is interactive (button) or static (div) */\n interactive?: boolean\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length === 1) {\n return parts[0].charAt(0).toUpperCase()\n }\n return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase()\n}\n\nexport const Avatar = forwardRef<HTMLButtonElement | HTMLDivElement, AvatarProps>(\n function Avatar(\n {\n size = 'md',\n name,\n src,\n alt,\n children,\n interactive = false,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n\n const avatarStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: '50%',\n background: src\n ? 'transparent'\n : 'linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)',\n color: 'white',\n fontWeight: 600,\n fontSize,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n border: 'none',\n padding: 0,\n cursor: interactive ? 'pointer' : 'default',\n ...style,\n }\n\n const content = src ? (\n <img\n src={src}\n alt={alt || name || 'Avatar'}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n />\n ) : children ? (\n children\n ) : name ? (\n getInitials(name)\n ) : (\n '?'\n )\n\n if (interactive) {\n return (\n <button\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n {...props}\n >\n {content}\n </button>\n )\n }\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n aria-hidden={!alt}\n >\n {content}\n </div>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n"],"names":["sizeMap","fontSizeMap","getInitials","name","parts","Avatar","forwardRef","size","src","alt","children","interactive","className","testId","style","props","ref","dimension","fontSize","avatarStyle","content","jsx","cx"],"mappings":";;;AAKA,MAAMA,IAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAA0C;AAAA,EAC9C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAqBA,SAASC,EAAYC,GAAsB;AACzC,QAAMC,IAAQD,EAAK,KAAA,EAAO,MAAM,KAAK;AACrC,SAAIC,EAAM,WAAW,IACZA,EAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAA,KAEpBA,EAAM,CAAC,EAAE,OAAO,CAAC,IAAIA,EAAMA,EAAM,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,YAAA;AAClE;AAEO,MAAMC,IAASC;AAAA,EACpB,SACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,MAAAJ;AAAA,IACA,KAAAK;AAAA,IACA,KAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,UAAMC,IAAYjB,EAAQO,CAAI,GACxBW,IAAWjB,EAAYM,CAAI,GAE3BY,IAA6B;AAAA,MACjC,OAAOF;AAAA,MACP,QAAQA;AAAA,MACR,UAAUA;AAAA,MACV,cAAc;AAAA,MACd,YAAYT,IACR,gBACA;AAAA,MACJ,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAAU;AAAA,MACA,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQP,IAAc,YAAY;AAAA,MAClC,GAAGG;AAAA,IAAA,GAGCM,IAAUZ,IACd,gBAAAa;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAb;AAAA,QACA,KAAKC,KAAON,KAAQ;AAAA,QACpB,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IAAA,IAEAO,MAEAP,IACFD,EAAYC,CAAI,IAEhB;AAGF,WAAIQ,IAEA,gBAAAU;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,MAAK;AAAA,QACL,WAAWM,EAAG,iBAAiBV,CAAS;AAAA,QACxC,OAAOO;AAAA,QACP,eAAaN;AAAA,QACZ,GAAGE;AAAA,QAEH,UAAAK;AAAA,MAAA;AAAA,IAAA,IAML,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,WAAWM,EAAG,iBAAiBV,CAAS;AAAA,QACxC,OAAOO;AAAA,QACP,eAAaN;AAAA,QACb,eAAa,CAACJ;AAAA,QAEb,UAAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAf,EAAO,cAAc;"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/utility/Avatar/Avatar.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type ButtonHTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<AvatarSize, number> = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 48,\n xl: 64,\n}\n\nconst fontSizeMap: Record<AvatarSize, number> = {\n xs: 10,\n sm: 12,\n md: 14,\n lg: 18,\n xl: 24,\n}\n\nexport interface AvatarProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Size of the avatar */\n size?: AvatarSize\n /** Name to display initials from */\n name?: string\n /** Image source URL */\n src?: string\n /** Alt text for the image */\n alt?: string\n /** Custom content to render inside */\n children?: ReactNode\n /** Whether the avatar is interactive (button) or static (div) */\n interactive?: boolean\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length === 1) {\n return parts[0].charAt(0).toUpperCase()\n }\n return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase()\n}\n\nexport const Avatar = forwardRef<HTMLButtonElement | HTMLDivElement, AvatarProps>(\n function Avatar(\n {\n size = 'md',\n name,\n src,\n alt,\n children,\n interactive = false,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n\n const avatarStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: '50%',\n background: src ? 'transparent' : 'var(--brycks-primary-default)',\n color: 'var(--brycks-primary-foreground)',\n fontWeight: 600,\n fontSize,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n border: 'none',\n padding: 0,\n cursor: interactive ? 'pointer' : 'default',\n ...style,\n }\n\n const content = src ? (\n <img\n src={src}\n alt={alt || name || 'Avatar'}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n />\n ) : children ? (\n children\n ) : name ? (\n getInitials(name)\n ) : (\n '?'\n )\n\n if (interactive) {\n return (\n <button\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n {...props}\n >\n {content}\n </button>\n )\n }\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={cx('brycks-avatar', className)}\n style={avatarStyle}\n data-testid={testId}\n aria-hidden={!alt}\n >\n {content}\n </div>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n"],"names":["sizeMap","fontSizeMap","getInitials","name","parts","Avatar","forwardRef","size","src","alt","children","interactive","className","testId","style","props","ref","dimension","fontSize","avatarStyle","content","jsx","cx"],"mappings":";;;AAKA,MAAMA,IAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAA0C;AAAA,EAC9C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAqBA,SAASC,EAAYC,GAAsB;AACzC,QAAMC,IAAQD,EAAK,KAAA,EAAO,MAAM,KAAK;AACrC,SAAIC,EAAM,WAAW,IACZA,EAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAA,KAEpBA,EAAM,CAAC,EAAE,OAAO,CAAC,IAAIA,EAAMA,EAAM,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,YAAA;AAClE;AAEO,MAAMC,IAASC;AAAA,EACpB,SACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,MAAAJ;AAAA,IACA,KAAAK;AAAA,IACA,KAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,UAAMC,IAAYjB,EAAQO,CAAI,GACxBW,IAAWjB,EAAYM,CAAI,GAE3BY,IAA6B;AAAA,MACjC,OAAOF;AAAA,MACP,QAAQA;AAAA,MACR,UAAUA;AAAA,MACV,cAAc;AAAA,MACd,YAAYT,IAAM,gBAAgB;AAAA,MAClC,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAAU;AAAA,MACA,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQP,IAAc,YAAY;AAAA,MAClC,GAAGG;AAAA,IAAA,GAGCM,IAAUZ,IACd,gBAAAa;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAb;AAAA,QACA,KAAKC,KAAON,KAAQ;AAAA,QACpB,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IAAA,IAEAO,MAEAP,IACFD,EAAYC,CAAI,IAEhB;AAGF,WAAIQ,IAEA,gBAAAU;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,MAAK;AAAA,QACL,WAAWM,EAAG,iBAAiBV,CAAS;AAAA,QACxC,OAAOO;AAAA,QACP,eAAaN;AAAA,QACZ,GAAGE;AAAA,QAEH,UAAAK;AAAA,MAAA;AAAA,IAAA,IAML,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,WAAWM,EAAG,iBAAiBV,CAAS;AAAA,QACxC,OAAOO;AAAA,QACP,eAAaN;AAAA,QACb,eAAa,CAACJ;AAAA,QAEb,UAAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAf,EAAO,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),i=require("react"),o=require("../../../utils/styles.cjs"),e=i.forwardRef(function({variant:a="subtle",intent:s="neutral",size:t="md",className:r,style:d,testId:c,children:n,...b},u){return g.jsx("span",{ref:u,className:o.cx("brycks-badge",`brycks-badge--${a}`,`brycks-badge--${s}`,`brycks-badge--${t}`,r),style:d,"data-testid":c,...b,children:n})});e.displayName="Badge";exports.Badge=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),o=require("react"),k=require("../../../utils/styles.cjs"),r=o.forwardRef(function({variant:d="subtle",intent:c="neutral",size:t="md",dot:e=!1,leftIcon:a,className:n,style:i,testId:b,children:g,...l},u){const y=e||!!a;return s.jsxs("span",{ref:u,className:k.cx("brycks-badge",`brycks-badge--${d}`,`brycks-badge--${c}`,`brycks-badge--${t}`,y&&"brycks-badge--with-leading",n),style:i,"data-testid":b,...l,children:[e&&s.jsx("span",{className:"brycks-badge__dot","aria-hidden":"true"}),!e&&a&&s.jsx("span",{className:"brycks-badge__icon",children:a}),g]})});r.displayName="Badge";exports.Badge=r;
2
2
  //# sourceMappingURL=Badge.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.cjs","sources":["../../../../src/components/utility/Badge/Badge.tsx"],"sourcesContent":["/**\r\n * Badge Component\r\n *\r\n * Small label for status, counts, or categorization.\r\n * Clean, minimal design with subtle color coding.\r\n *\r\n * All color styles are handled via CSS classes for easy customization.\r\n */\r\n\r\nimport {\r\n forwardRef,\r\n type ReactNode,\r\n type HTMLAttributes,\r\n} from 'react'\r\nimport { cx } from '../../../utils/styles'\r\n\r\nexport type BadgeVariant = 'solid' | 'subtle' | 'outline'\r\nexport type BadgeIntent = 'neutral' | 'primary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\r\nexport type BadgeSize = 'sm' | 'md' | 'lg'\r\n\r\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\r\n /** Visual variant */\r\n variant?: BadgeVariant\r\n /** Color intent */\r\n intent?: BadgeIntent\r\n /** Size */\r\n size?: BadgeSize\r\n /** Custom class name */\r\n className?: string\r\n /** Test ID */\r\n testId?: string\r\n /** Badge content */\r\n children?: ReactNode\r\n}\r\n\r\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\r\n {\r\n variant = 'subtle',\r\n intent = 'neutral',\r\n size = 'md',\r\n className,\r\n style,\r\n testId,\r\n children,\r\n ...props\r\n },\r\n ref\r\n) {\r\n return (\r\n <span\r\n ref={ref}\r\n className={cx(\r\n 'brycks-badge',\r\n `brycks-badge--${variant}`,\r\n `brycks-badge--${intent}`,\r\n `brycks-badge--${size}`,\r\n className\r\n )}\r\n style={style}\r\n data-testid={testId}\r\n {...props}\r\n >\r\n {children}\r\n </span>\r\n )\r\n})\r\n\r\nBadge.displayName = 'Badge'\r\n"],"names":["Badge","forwardRef","variant","intent","size","className","style","testId","children","props","ref","jsx","cx"],"mappings":"+KAmCaA,EAAQC,EAAAA,WAAwC,SAC3D,CACE,QAAAC,EAAU,SACV,OAAAC,EAAS,UACT,KAAAC,EAAO,KACP,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,OACEC,EAAAA,IAAC,OAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GACT,eACA,iBAAiBV,CAAO,GACxB,iBAAiBC,CAAM,GACvB,iBAAiBC,CAAI,GACrBC,CAAA,EAEF,MAAAC,EACA,cAAaC,EACZ,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGP,CAAC,EAEDR,EAAM,YAAc"}
1
+ {"version":3,"file":"Badge.cjs","sources":["../../../../src/components/utility/Badge/Badge.tsx"],"sourcesContent":["/**\r\n * Badge Component\r\n *\r\n * Small label for status, counts, or categorization.\r\n * Clean, minimal design with subtle color coding.\r\n *\r\n * All color styles are handled via CSS classes for easy customization.\r\n */\r\n\r\nimport {\r\n forwardRef,\r\n type ReactNode,\r\n type HTMLAttributes,\r\n} from 'react'\r\nimport { cx } from '../../../utils/styles'\r\n\r\nexport type BadgeVariant = 'solid' | 'subtle' | 'outline'\r\nexport type BadgeIntent = 'neutral' | 'primary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\r\nexport type BadgeSize = 'sm' | 'md' | 'lg'\r\n\r\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\r\n /** Visual variant */\r\n variant?: BadgeVariant\r\n /** Color intent */\r\n intent?: BadgeIntent\r\n /** Size */\r\n size?: BadgeSize\r\n /** Show a leading status dot in the intent color (a non-color status cue) */\r\n dot?: boolean\r\n /** Leading icon (e.g. a HugeIcon). Prefer this over emoji as a label icon */\r\n leftIcon?: ReactNode\r\n /** Custom class name */\r\n className?: string\r\n /** Test ID */\r\n testId?: string\r\n /** Badge content */\r\n children?: ReactNode\r\n}\r\n\r\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\r\n {\r\n variant = 'subtle',\r\n intent = 'neutral',\r\n size = 'md',\r\n dot = false,\r\n leftIcon,\r\n className,\r\n style,\r\n testId,\r\n children,\r\n ...props\r\n },\r\n ref\r\n) {\r\n const hasLeading = dot || !!leftIcon\r\n\r\n return (\r\n <span\r\n ref={ref}\r\n className={cx(\r\n 'brycks-badge',\r\n `brycks-badge--${variant}`,\r\n `brycks-badge--${intent}`,\r\n `brycks-badge--${size}`,\r\n hasLeading && 'brycks-badge--with-leading',\r\n className\r\n )}\r\n style={style}\r\n data-testid={testId}\r\n {...props}\r\n >\r\n {dot && <span className=\"brycks-badge__dot\" aria-hidden=\"true\" />}\r\n {!dot && leftIcon && <span className=\"brycks-badge__icon\">{leftIcon}</span>}\r\n {children}\r\n </span>\r\n )\r\n})\r\n\r\nBadge.displayName = 'Badge'\r\n"],"names":["Badge","forwardRef","variant","intent","size","dot","leftIcon","className","style","testId","children","props","ref","hasLeading","jsxs","cx","jsx"],"mappings":"+KAuCaA,EAAQC,EAAAA,WAAwC,SAC3D,CACE,QAAAC,EAAU,SACV,OAAAC,EAAS,UACT,KAAAC,EAAO,KACP,IAAAC,EAAM,GACN,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,MAAMC,EAAaR,GAAO,CAAC,CAACC,EAE5B,OACEQ,EAAAA,KAAC,OAAA,CACC,IAAAF,EACA,UAAWG,EAAAA,GACT,eACA,iBAAiBb,CAAO,GACxB,iBAAiBC,CAAM,GACvB,iBAAiBC,CAAI,GACrBS,GAAc,6BACdN,CAAA,EAEF,MAAAC,EACA,cAAaC,EACZ,GAAGE,EAEH,SAAA,CAAAN,GAAOW,EAAAA,IAAC,OAAA,CAAK,UAAU,oBAAoB,cAAY,OAAO,EAC9D,CAACX,GAAOC,SAAa,OAAA,CAAK,UAAU,qBAAsB,SAAAA,EAAS,EACnEI,CAAA,CAAA,CAAA,CAGP,CAAC,EAEDV,EAAM,YAAc"}
@@ -1,36 +1,44 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { forwardRef as g } from "react";
3
- import { cx as f } from "../../../utils/styles.js";
4
- const i = g(function({
5
- variant: a = "subtle",
6
- intent: r = "neutral",
7
- size: e = "md",
8
- className: d,
9
- style: s,
10
- testId: t,
11
- children: o,
12
- ...b
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as p } from "react";
3
+ import { cx as y } from "../../../utils/styles.js";
4
+ const k = p(function({
5
+ variant: r = "subtle",
6
+ intent: d = "neutral",
7
+ size: b = "md",
8
+ dot: a = !1,
9
+ leftIcon: s,
10
+ className: c,
11
+ style: i,
12
+ testId: n,
13
+ children: g,
14
+ ...t
13
15
  }, m) {
14
- return /* @__PURE__ */ c(
16
+ const o = a || !!s;
17
+ return /* @__PURE__ */ l(
15
18
  "span",
16
19
  {
17
20
  ref: m,
18
- className: f(
21
+ className: y(
19
22
  "brycks-badge",
20
- `brycks-badge--${a}`,
21
23
  `brycks-badge--${r}`,
22
- `brycks-badge--${e}`,
23
- d
24
+ `brycks-badge--${d}`,
25
+ `brycks-badge--${b}`,
26
+ o && "brycks-badge--with-leading",
27
+ c
24
28
  ),
25
- style: s,
26
- "data-testid": t,
27
- ...b,
28
- children: o
29
+ style: i,
30
+ "data-testid": n,
31
+ ...t,
32
+ children: [
33
+ a && /* @__PURE__ */ e("span", { className: "brycks-badge__dot", "aria-hidden": "true" }),
34
+ !a && s && /* @__PURE__ */ e("span", { className: "brycks-badge__icon", children: s }),
35
+ g
36
+ ]
29
37
  }
30
38
  );
31
39
  });
32
- i.displayName = "Badge";
40
+ k.displayName = "Badge";
33
41
  export {
34
- i as Badge
42
+ k as Badge
35
43
  };
36
44
  //# sourceMappingURL=Badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../../../src/components/utility/Badge/Badge.tsx"],"sourcesContent":["/**\r\n * Badge Component\r\n *\r\n * Small label for status, counts, or categorization.\r\n * Clean, minimal design with subtle color coding.\r\n *\r\n * All color styles are handled via CSS classes for easy customization.\r\n */\r\n\r\nimport {\r\n forwardRef,\r\n type ReactNode,\r\n type HTMLAttributes,\r\n} from 'react'\r\nimport { cx } from '../../../utils/styles'\r\n\r\nexport type BadgeVariant = 'solid' | 'subtle' | 'outline'\r\nexport type BadgeIntent = 'neutral' | 'primary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\r\nexport type BadgeSize = 'sm' | 'md' | 'lg'\r\n\r\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\r\n /** Visual variant */\r\n variant?: BadgeVariant\r\n /** Color intent */\r\n intent?: BadgeIntent\r\n /** Size */\r\n size?: BadgeSize\r\n /** Custom class name */\r\n className?: string\r\n /** Test ID */\r\n testId?: string\r\n /** Badge content */\r\n children?: ReactNode\r\n}\r\n\r\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\r\n {\r\n variant = 'subtle',\r\n intent = 'neutral',\r\n size = 'md',\r\n className,\r\n style,\r\n testId,\r\n children,\r\n ...props\r\n },\r\n ref\r\n) {\r\n return (\r\n <span\r\n ref={ref}\r\n className={cx(\r\n 'brycks-badge',\r\n `brycks-badge--${variant}`,\r\n `brycks-badge--${intent}`,\r\n `brycks-badge--${size}`,\r\n className\r\n )}\r\n style={style}\r\n data-testid={testId}\r\n {...props}\r\n >\r\n {children}\r\n </span>\r\n )\r\n})\r\n\r\nBadge.displayName = 'Badge'\r\n"],"names":["Badge","forwardRef","variant","intent","size","className","style","testId","children","props","ref","jsx","cx"],"mappings":";;;AAmCO,MAAMA,IAAQC,EAAwC,SAC3D;AAAA,EACE,SAAAC,IAAU;AAAA,EACV,QAAAC,IAAS;AAAA,EACT,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACA,iBAAiBV,CAAO;AAAA,QACxB,iBAAiBC,CAAM;AAAA,QACvB,iBAAiBC,CAAI;AAAA,QACrBC;AAAA,MAAA;AAAA,MAEF,OAAAC;AAAA,MACA,eAAaC;AAAA,MACZ,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEDR,EAAM,cAAc;"}
1
+ {"version":3,"file":"Badge.js","sources":["../../../../src/components/utility/Badge/Badge.tsx"],"sourcesContent":["/**\r\n * Badge Component\r\n *\r\n * Small label for status, counts, or categorization.\r\n * Clean, minimal design with subtle color coding.\r\n *\r\n * All color styles are handled via CSS classes for easy customization.\r\n */\r\n\r\nimport {\r\n forwardRef,\r\n type ReactNode,\r\n type HTMLAttributes,\r\n} from 'react'\r\nimport { cx } from '../../../utils/styles'\r\n\r\nexport type BadgeVariant = 'solid' | 'subtle' | 'outline'\r\nexport type BadgeIntent = 'neutral' | 'primary' | 'accent' | 'success' | 'warning' | 'error' | 'info'\r\nexport type BadgeSize = 'sm' | 'md' | 'lg'\r\n\r\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\r\n /** Visual variant */\r\n variant?: BadgeVariant\r\n /** Color intent */\r\n intent?: BadgeIntent\r\n /** Size */\r\n size?: BadgeSize\r\n /** Show a leading status dot in the intent color (a non-color status cue) */\r\n dot?: boolean\r\n /** Leading icon (e.g. a HugeIcon). Prefer this over emoji as a label icon */\r\n leftIcon?: ReactNode\r\n /** Custom class name */\r\n className?: string\r\n /** Test ID */\r\n testId?: string\r\n /** Badge content */\r\n children?: ReactNode\r\n}\r\n\r\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\r\n {\r\n variant = 'subtle',\r\n intent = 'neutral',\r\n size = 'md',\r\n dot = false,\r\n leftIcon,\r\n className,\r\n style,\r\n testId,\r\n children,\r\n ...props\r\n },\r\n ref\r\n) {\r\n const hasLeading = dot || !!leftIcon\r\n\r\n return (\r\n <span\r\n ref={ref}\r\n className={cx(\r\n 'brycks-badge',\r\n `brycks-badge--${variant}`,\r\n `brycks-badge--${intent}`,\r\n `brycks-badge--${size}`,\r\n hasLeading && 'brycks-badge--with-leading',\r\n className\r\n )}\r\n style={style}\r\n data-testid={testId}\r\n {...props}\r\n >\r\n {dot && <span className=\"brycks-badge__dot\" aria-hidden=\"true\" />}\r\n {!dot && leftIcon && <span className=\"brycks-badge__icon\">{leftIcon}</span>}\r\n {children}\r\n </span>\r\n )\r\n})\r\n\r\nBadge.displayName = 'Badge'\r\n"],"names":["Badge","forwardRef","variant","intent","size","dot","leftIcon","className","style","testId","children","props","ref","hasLeading","jsxs","cx","jsx"],"mappings":";;;AAuCO,MAAMA,IAAQC,EAAwC,SAC3D;AAAA,EACE,SAAAC,IAAU;AAAA,EACV,QAAAC,IAAS;AAAA,EACT,MAAAC,IAAO;AAAA,EACP,KAAAC,IAAM;AAAA,EACN,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAaR,KAAO,CAAC,CAACC;AAE5B,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG;AAAA,QACT;AAAA,QACA,iBAAiBb,CAAO;AAAA,QACxB,iBAAiBC,CAAM;AAAA,QACvB,iBAAiBC,CAAI;AAAA,QACrBS,KAAc;AAAA,QACdN;AAAA,MAAA;AAAA,MAEF,OAAAC;AAAA,MACA,eAAaC;AAAA,MACZ,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAN,KAAO,gBAAAW,EAAC,QAAA,EAAK,WAAU,qBAAoB,eAAY,QAAO;AAAA,QAC9D,CAACX,KAAOC,uBAAa,QAAA,EAAK,WAAU,sBAAsB,UAAAA,GAAS;AAAA,QACnEI;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEDV,EAAM,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),i=require("react"),n=require("../../../utils/styles.cjs"),e=i.forwardRef(function({size:t="md",className:r,testId:s,children:d,...c},b){return a.jsx("kbd",{ref:b,className:n.cx("brycks-kbd",`brycks-kbd--${t}`,r),"data-testid":s,...c,children:d})});e.displayName="Kbd";exports.Kbd=e;
2
+ //# sourceMappingURL=Kbd.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kbd.cjs","sources":["../../../../src/components/utility/Kbd/Kbd.tsx"],"sourcesContent":["/**\n * Kbd Component\n *\n * Renders a keyboard key or shortcut (e.g. ⌘K, Ctrl, Esc) with the semantic\n * `<kbd>` element. Use inside hints, command palettes, and shortcut lists.\n *\n * All styles are handled via CSS classes for easy customization.\n */\n\nimport {\n forwardRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type KbdSize = 'sm' | 'md'\n\nexport interface KbdProps extends HTMLAttributes<HTMLElement> {\n /** Size */\n size?: KbdSize\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n /** Key content */\n children?: ReactNode\n}\n\nexport const Kbd = forwardRef<HTMLElement, KbdProps>(function Kbd(\n { size = 'md', className, testId, children, ...props },\n ref\n) {\n return (\n <kbd\n ref={ref}\n className={cx('brycks-kbd', `brycks-kbd--${size}`, className)}\n data-testid={testId}\n {...props}\n >\n {children}\n </kbd>\n )\n})\n\nKbd.displayName = 'Kbd'\n"],"names":["Kbd","forwardRef","size","className","testId","children","props","ref","jsx","cx"],"mappings":"+KA6BaA,EAAMC,EAAAA,WAAkC,SACnD,CAAE,KAAAC,EAAO,KAAM,UAAAC,EAAW,OAAAC,EAAQ,SAAAC,EAAU,GAAGC,CAAA,EAC/CC,EACA,CACA,OACEC,EAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,aAAc,eAAeP,CAAI,GAAIC,CAAS,EAC5D,cAAaC,EACZ,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGP,CAAC,EAEDL,EAAI,YAAc"}
@@ -0,0 +1,20 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as a } from "react";
3
+ import { cx as c } from "../../../utils/styles.js";
4
+ const e = a(function({ size: r = "md", className: d, testId: o, children: t, ...m }, b) {
5
+ return /* @__PURE__ */ s(
6
+ "kbd",
7
+ {
8
+ ref: b,
9
+ className: c("brycks-kbd", `brycks-kbd--${r}`, d),
10
+ "data-testid": o,
11
+ ...m,
12
+ children: t
13
+ }
14
+ );
15
+ });
16
+ e.displayName = "Kbd";
17
+ export {
18
+ e as Kbd
19
+ };
20
+ //# sourceMappingURL=Kbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kbd.js","sources":["../../../../src/components/utility/Kbd/Kbd.tsx"],"sourcesContent":["/**\n * Kbd Component\n *\n * Renders a keyboard key or shortcut (e.g. ⌘K, Ctrl, Esc) with the semantic\n * `<kbd>` element. Use inside hints, command palettes, and shortcut lists.\n *\n * All styles are handled via CSS classes for easy customization.\n */\n\nimport {\n forwardRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type KbdSize = 'sm' | 'md'\n\nexport interface KbdProps extends HTMLAttributes<HTMLElement> {\n /** Size */\n size?: KbdSize\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n /** Key content */\n children?: ReactNode\n}\n\nexport const Kbd = forwardRef<HTMLElement, KbdProps>(function Kbd(\n { size = 'md', className, testId, children, ...props },\n ref\n) {\n return (\n <kbd\n ref={ref}\n className={cx('brycks-kbd', `brycks-kbd--${size}`, className)}\n data-testid={testId}\n {...props}\n >\n {children}\n </kbd>\n )\n})\n\nKbd.displayName = 'Kbd'\n"],"names":["Kbd","forwardRef","size","className","testId","children","props","ref","jsx","cx"],"mappings":";;;AA6BO,MAAMA,IAAMC,EAAkC,SACnD,EAAE,MAAAC,IAAO,MAAM,WAAAC,GAAW,QAAAC,GAAQ,UAAAC,GAAU,GAAGC,EAAA,GAC/CC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE,EAAG,cAAc,eAAeP,CAAI,IAAIC,CAAS;AAAA,MAC5D,eAAaC;AAAA,MACZ,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEDL,EAAI,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react/jsx-runtime"),u=require("react"),y=require("../../../utils/styles.cjs"),f={sm:32,md:40,lg:56,xl:64},p={sm:14,md:18,lg:24,xl:28},x={sm:8,md:10,lg:14,xl:16},o=u.forwardRef(function({size:t="md",children:r,className:s,testId:i,style:n,...a},d){const e=f[t],c=p[t],l=x[t],g={width:e,height:e,minWidth:e,borderRadius:l,background:"linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontWeight:700,fontSize:c,boxShadow:"0 2px 8px rgba(59, 92, 233, 0.3)",...n};return m.jsx("div",{ref:d,className:y.cx("brycks-logo",s),style:g,"data-testid":i,"aria-hidden":"true",...a,children:r})});o.displayName="Logo";exports.Logo=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),m=require("react"),y=require("../../../utils/styles.cjs"),f={sm:32,md:40,lg:56,xl:64},p={sm:14,md:18,lg:24,xl:28},b={sm:8,md:10,lg:14,xl:16},e=m.forwardRef(function({size:t="md",children:r,className:s,testId:n,style:i,...a},c){const o=f[t],d=p[t],l=b[t],u={width:o,height:o,minWidth:o,borderRadius:l,background:"var(--brycks-primary-default)",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--brycks-primary-foreground)",fontWeight:700,fontSize:d,...i};return g.jsx("div",{ref:c,className:y.cx("brycks-logo",s),style:u,"data-testid":n,"aria-hidden":"true",...a,children:r})});e.displayName="Logo";exports.Logo=e;
2
2
  //# sourceMappingURL=Logo.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.cjs","sources":["../../../../src/components/utility/Logo/Logo.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type LogoSize = 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<LogoSize, number> = {\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64,\n}\n\nconst fontSizeMap: Record<LogoSize, number> = {\n sm: 14,\n md: 18,\n lg: 24,\n xl: 28,\n}\n\nconst radiusMap: Record<LogoSize, number> = {\n sm: 8,\n md: 10,\n lg: 14,\n xl: 16,\n}\n\nexport interface LogoProps extends HTMLAttributes<HTMLDivElement> {\n /** Size of the logo */\n size?: LogoSize\n /** Content to display (usually a letter or icon) */\n children?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Logo = forwardRef<HTMLDivElement, LogoProps>(\n function Logo(\n {\n size = 'md',\n children,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n const radius = radiusMap[size]\n\n const logoStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: radius,\n background: 'linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'white',\n fontWeight: 700,\n fontSize,\n boxShadow: '0 2px 8px rgba(59, 92, 233, 0.3)',\n ...style,\n }\n\n return (\n <div\n ref={ref}\n className={cx('brycks-logo', className)}\n style={logoStyle}\n data-testid={testId}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </div>\n )\n }\n)\n\nLogo.displayName = 'Logo'\n"],"names":["sizeMap","fontSizeMap","radiusMap","Logo","forwardRef","size","children","className","testId","style","props","ref","dimension","fontSize","radius","logoStyle","jsx","cx"],"mappings":"+KAKMA,EAAoC,CACxC,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAEMC,EAAwC,CAC5C,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAEMC,EAAsC,CAC1C,GAAI,EACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAaaC,EAAOC,EAAAA,WAClB,SACE,CACE,KAAAC,EAAO,KACP,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAYZ,EAAQK,CAAI,EACxBQ,EAAWZ,EAAYI,CAAI,EAC3BS,EAASZ,EAAUG,CAAI,EAEvBU,EAA2B,CAC/B,MAAOH,EACP,OAAQA,EACR,SAAUA,EACV,aAAcE,EACd,WAAY,4FACZ,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,MAAO,QACP,WAAY,IACZ,SAAAD,EACA,UAAW,mCACX,GAAGJ,CAAA,EAGL,OACEO,EAAAA,IAAC,MAAA,CACC,IAAAL,EACA,UAAWM,EAAAA,GAAG,cAAeV,CAAS,EACtC,MAAOQ,EACP,cAAaP,EACb,cAAY,OACX,GAAGE,EAEH,SAAAJ,CAAA,CAAA,CAGP,CACF,EAEAH,EAAK,YAAc"}
1
+ {"version":3,"file":"Logo.cjs","sources":["../../../../src/components/utility/Logo/Logo.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type LogoSize = 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<LogoSize, number> = {\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64,\n}\n\nconst fontSizeMap: Record<LogoSize, number> = {\n sm: 14,\n md: 18,\n lg: 24,\n xl: 28,\n}\n\nconst radiusMap: Record<LogoSize, number> = {\n sm: 8,\n md: 10,\n lg: 14,\n xl: 16,\n}\n\nexport interface LogoProps extends HTMLAttributes<HTMLDivElement> {\n /** Size of the logo */\n size?: LogoSize\n /** Content to display (usually a letter or icon) */\n children?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Logo = forwardRef<HTMLDivElement, LogoProps>(\n function Logo(\n {\n size = 'md',\n children,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n const radius = radiusMap[size]\n\n const logoStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: radius,\n // Flat + on-palette: solid primary, no gradient, no decorative shadow.\n background: 'var(--brycks-primary-default)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'var(--brycks-primary-foreground)',\n fontWeight: 700,\n fontSize,\n ...style,\n }\n\n return (\n <div\n ref={ref}\n className={cx('brycks-logo', className)}\n style={logoStyle}\n data-testid={testId}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </div>\n )\n }\n)\n\nLogo.displayName = 'Logo'\n"],"names":["sizeMap","fontSizeMap","radiusMap","Logo","forwardRef","size","children","className","testId","style","props","ref","dimension","fontSize","radius","logoStyle","jsx","cx"],"mappings":"+KAKMA,EAAoC,CACxC,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAEMC,EAAwC,CAC5C,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAEMC,EAAsC,CAC1C,GAAI,EACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,EAaaC,EAAOC,EAAAA,WAClB,SACE,CACE,KAAAC,EAAO,KACP,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAYZ,EAAQK,CAAI,EACxBQ,EAAWZ,EAAYI,CAAI,EAC3BS,EAASZ,EAAUG,CAAI,EAEvBU,EAA2B,CAC/B,MAAOH,EACP,OAAQA,EACR,SAAUA,EACV,aAAcE,EAEd,WAAY,gCACZ,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,MAAO,mCACP,WAAY,IACZ,SAAAD,EACA,GAAGJ,CAAA,EAGL,OACEO,EAAAA,IAAC,MAAA,CACC,IAAAL,EACA,UAAWM,EAAAA,GAAG,cAAeV,CAAS,EACtC,MAAOQ,EACP,cAAaP,EACb,cAAY,OACX,GAAGE,EAEH,SAAAJ,CAAA,CAAA,CAGP,CACF,EAEAH,EAAK,YAAc"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
- import { forwardRef as g } from "react";
3
- import { cx as p } from "../../../utils/styles.js";
4
- const f = {
2
+ import { forwardRef as f } from "react";
3
+ import { cx as g } from "../../../utils/styles.js";
4
+ const p = {
5
5
  sm: 32,
6
6
  md: 40,
7
7
  lg: 56,
8
8
  xl: 64
9
- }, x = {
9
+ }, u = {
10
10
  sm: 14,
11
11
  md: 18,
12
12
  lg: 24,
@@ -16,46 +16,46 @@ const f = {
16
16
  md: 10,
17
17
  lg: 14,
18
18
  xl: 16
19
- }, u = g(
19
+ }, x = f(
20
20
  function({
21
21
  size: o = "md",
22
22
  children: r,
23
- className: i,
24
- testId: a,
25
- style: e,
26
- ...n
27
- }, s) {
28
- const t = f[o], d = x[o], m = y[o], c = {
23
+ className: s,
24
+ testId: i,
25
+ style: n,
26
+ ...e
27
+ }, a) {
28
+ const t = p[o], d = u[o], m = y[o], c = {
29
29
  width: t,
30
30
  height: t,
31
31
  minWidth: t,
32
32
  borderRadius: m,
33
- background: "linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)",
33
+ // Flat + on-palette: solid primary, no gradient, no decorative shadow.
34
+ background: "var(--brycks-primary-default)",
34
35
  display: "flex",
35
36
  alignItems: "center",
36
37
  justifyContent: "center",
37
- color: "white",
38
+ color: "var(--brycks-primary-foreground)",
38
39
  fontWeight: 700,
39
40
  fontSize: d,
40
- boxShadow: "0 2px 8px rgba(59, 92, 233, 0.3)",
41
- ...e
41
+ ...n
42
42
  };
43
43
  return /* @__PURE__ */ l(
44
44
  "div",
45
45
  {
46
- ref: s,
47
- className: p("brycks-logo", i),
46
+ ref: a,
47
+ className: g("brycks-logo", s),
48
48
  style: c,
49
- "data-testid": a,
49
+ "data-testid": i,
50
50
  "aria-hidden": "true",
51
- ...n,
51
+ ...e,
52
52
  children: r
53
53
  }
54
54
  );
55
55
  }
56
56
  );
57
- u.displayName = "Logo";
57
+ x.displayName = "Logo";
58
58
  export {
59
- u as Logo
59
+ x as Logo
60
60
  };
61
61
  //# sourceMappingURL=Logo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.js","sources":["../../../../src/components/utility/Logo/Logo.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type LogoSize = 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<LogoSize, number> = {\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64,\n}\n\nconst fontSizeMap: Record<LogoSize, number> = {\n sm: 14,\n md: 18,\n lg: 24,\n xl: 28,\n}\n\nconst radiusMap: Record<LogoSize, number> = {\n sm: 8,\n md: 10,\n lg: 14,\n xl: 16,\n}\n\nexport interface LogoProps extends HTMLAttributes<HTMLDivElement> {\n /** Size of the logo */\n size?: LogoSize\n /** Content to display (usually a letter or icon) */\n children?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Logo = forwardRef<HTMLDivElement, LogoProps>(\n function Logo(\n {\n size = 'md',\n children,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n const radius = radiusMap[size]\n\n const logoStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: radius,\n background: 'linear-gradient(135deg, var(--brycks-primary-default) 0%, var(--brycks-primary-600) 100%)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'white',\n fontWeight: 700,\n fontSize,\n boxShadow: '0 2px 8px rgba(59, 92, 233, 0.3)',\n ...style,\n }\n\n return (\n <div\n ref={ref}\n className={cx('brycks-logo', className)}\n style={logoStyle}\n data-testid={testId}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </div>\n )\n }\n)\n\nLogo.displayName = 'Logo'\n"],"names":["sizeMap","fontSizeMap","radiusMap","Logo","forwardRef","size","children","className","testId","style","props","ref","dimension","fontSize","radius","logoStyle","jsx","cx"],"mappings":";;;AAKA,MAAMA,IAAoC;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAAwC;AAAA,EAC5C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAaaC,IAAOC;AAAA,EAClB,SACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,UAAMC,IAAYZ,EAAQK,CAAI,GACxBQ,IAAWZ,EAAYI,CAAI,GAC3BS,IAASZ,EAAUG,CAAI,GAEvBU,IAA2B;AAAA,MAC/B,OAAOH;AAAA,MACP,QAAQA;AAAA,MACR,UAAUA;AAAA,MACV,cAAcE;AAAA,MACd,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAAD;AAAA,MACA,WAAW;AAAA,MACX,GAAGJ;AAAA,IAAA;AAGL,WACE,gBAAAO;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,WAAWM,EAAG,eAAeV,CAAS;AAAA,QACtC,OAAOQ;AAAA,QACP,eAAaP;AAAA,QACb,eAAY;AAAA,QACX,GAAGE;AAAA,QAEH,UAAAJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAH,EAAK,cAAc;"}
1
+ {"version":3,"file":"Logo.js","sources":["../../../../src/components/utility/Logo/Logo.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type ReactNode, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type LogoSize = 'sm' | 'md' | 'lg' | 'xl'\n\nconst sizeMap: Record<LogoSize, number> = {\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64,\n}\n\nconst fontSizeMap: Record<LogoSize, number> = {\n sm: 14,\n md: 18,\n lg: 24,\n xl: 28,\n}\n\nconst radiusMap: Record<LogoSize, number> = {\n sm: 8,\n md: 10,\n lg: 14,\n xl: 16,\n}\n\nexport interface LogoProps extends HTMLAttributes<HTMLDivElement> {\n /** Size of the logo */\n size?: LogoSize\n /** Content to display (usually a letter or icon) */\n children?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Logo = forwardRef<HTMLDivElement, LogoProps>(\n function Logo(\n {\n size = 'md',\n children,\n className,\n testId,\n style,\n ...props\n },\n ref\n ) {\n const dimension = sizeMap[size]\n const fontSize = fontSizeMap[size]\n const radius = radiusMap[size]\n\n const logoStyle: CSSProperties = {\n width: dimension,\n height: dimension,\n minWidth: dimension,\n borderRadius: radius,\n // Flat + on-palette: solid primary, no gradient, no decorative shadow.\n background: 'var(--brycks-primary-default)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'var(--brycks-primary-foreground)',\n fontWeight: 700,\n fontSize,\n ...style,\n }\n\n return (\n <div\n ref={ref}\n className={cx('brycks-logo', className)}\n style={logoStyle}\n data-testid={testId}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </div>\n )\n }\n)\n\nLogo.displayName = 'Logo'\n"],"names":["sizeMap","fontSizeMap","radiusMap","Logo","forwardRef","size","children","className","testId","style","props","ref","dimension","fontSize","radius","logoStyle","jsx","cx"],"mappings":";;;AAKA,MAAMA,IAAoC;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAAwC;AAAA,EAC5C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAaaC,IAAOC;AAAA,EAClB,SACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,UAAMC,IAAYZ,EAAQK,CAAI,GACxBQ,IAAWZ,EAAYI,CAAI,GAC3BS,IAASZ,EAAUG,CAAI,GAEvBU,IAA2B;AAAA,MAC/B,OAAOH;AAAA,MACP,QAAQA;AAAA,MACR,UAAUA;AAAA,MACV,cAAcE;AAAA;AAAA,MAEd,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAAD;AAAA,MACA,GAAGJ;AAAA,IAAA;AAGL,WACE,gBAAAO;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,WAAWM,EAAG,eAAeV,CAAS;AAAA,QACtC,OAAOQ;AAAA,QACP,eAAaP;AAAA,QACb,eAAY;AAAA,QACX,GAAGE;AAAA,QAEH,UAAAJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAH,EAAK,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./utility/Badge/Badge.cjs"),e=require("./utility/Loader/Loader.cjs"),r=require("./utility/Skeleton/Skeleton.cjs"),a=require("./utility/Divider/Divider.cjs"),t=require("./utility/EmptyState/EmptyState.cjs"),i=require("./utility/Portal/Portal.cjs"),c=require("./utility/FocusTrap/FocusTrap.cjs"),l=require("./utility/Overlay/Overlay.cjs"),o=require("./utility/ScreenReaderOnly/ScreenReaderOnly.cjs"),S=require("./utility/Avatar/Avatar.cjs"),u=require("./utility/Logo/Logo.cjs");exports.Badge=n.Badge;exports.Loader=e.Loader;exports.Spinner=e.Spinner;exports.Skeleton=r.Skeleton;exports.SkeletonText=r.SkeletonText;exports.Divider=a.Divider;exports.EmptyState=t.EmptyState;exports.EmptyStateIcon=t.EmptyStateIcon;exports.Portal=i.Portal;exports.FocusTrap=c.FocusTrap;exports.Overlay=l.Overlay;exports.ScreenReaderOnly=o.ScreenReaderOnly;exports.SrOnly=o.SrOnly;exports.Avatar=S.Avatar;exports.Logo=u.Logo;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./utility/Badge/Badge.cjs"),e=require("./utility/Loader/Loader.cjs"),r=require("./utility/Skeleton/Skeleton.cjs"),a=require("./utility/Divider/Divider.cjs"),t=require("./utility/EmptyState/EmptyState.cjs"),i=require("./utility/Portal/Portal.cjs"),c=require("./utility/FocusTrap/FocusTrap.cjs"),l=require("./utility/Overlay/Overlay.cjs"),o=require("./utility/ScreenReaderOnly/ScreenReaderOnly.cjs"),S=require("./utility/Avatar/Avatar.cjs"),u=require("./utility/Logo/Logo.cjs"),d=require("./utility/Kbd/Kbd.cjs");exports.Badge=n.Badge;exports.Loader=e.Loader;exports.Spinner=e.Spinner;exports.Skeleton=r.Skeleton;exports.SkeletonText=r.SkeletonText;exports.Divider=a.Divider;exports.EmptyState=t.EmptyState;exports.EmptyStateIcon=t.EmptyStateIcon;exports.Portal=i.Portal;exports.FocusTrap=c.FocusTrap;exports.Overlay=l.Overlay;exports.ScreenReaderOnly=o.ScreenReaderOnly;exports.SrOnly=o.SrOnly;exports.Avatar=S.Avatar;exports.Logo=u.Logo;exports.Kbd=d.Kbd;
2
2
  //# sourceMappingURL=utility.cjs.map
@@ -2,22 +2,24 @@ import { Badge as e } from "./utility/Badge/Badge.js";
2
2
  import { Loader as p, Spinner as m } from "./utility/Loader/Loader.js";
3
3
  import { Skeleton as f, SkeletonText as a } from "./utility/Skeleton/Skeleton.js";
4
4
  import { Divider as S } from "./utility/Divider/Divider.js";
5
- import { EmptyState as y, EmptyStateIcon as d } from "./utility/EmptyState/EmptyState.js";
5
+ import { EmptyState as d, EmptyStateIcon as y } from "./utility/EmptyState/EmptyState.js";
6
6
  import { Portal as i } from "./utility/Portal/Portal.js";
7
7
  import { FocusTrap as O } from "./utility/FocusTrap/FocusTrap.js";
8
8
  import { Overlay as k } from "./utility/Overlay/Overlay.js";
9
9
  import { ScreenReaderOnly as L, SrOnly as T } from "./utility/ScreenReaderOnly/ScreenReaderOnly.js";
10
- import { Avatar as u } from "./utility/Avatar/Avatar.js";
11
- import { Logo as B } from "./utility/Logo/Logo.js";
10
+ import { Avatar as s } from "./utility/Avatar/Avatar.js";
11
+ import { Logo as A } from "./utility/Logo/Logo.js";
12
+ import { Kbd as D } from "./utility/Kbd/Kbd.js";
12
13
  export {
13
- u as Avatar,
14
+ s as Avatar,
14
15
  e as Badge,
15
16
  S as Divider,
16
- y as EmptyState,
17
- d as EmptyStateIcon,
17
+ d as EmptyState,
18
+ y as EmptyStateIcon,
18
19
  O as FocusTrap,
20
+ D as Kbd,
19
21
  p as Loader,
20
- B as Logo,
22
+ A as Logo,
21
23
  k as Overlay,
22
24
  i as Portal,
23
25
  L as ScreenReaderOnly,
@@ -1 +1 @@
1
- {"version":3,"file":"utility.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"utility.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}