@economic/taco 8.1.3 → 8.2.0-alpha-core-actions.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 (229) hide show
  1. package/dist/charts/components/Legend.cjs +5 -2
  2. package/dist/charts/components/Legend.cjs.map +1 -1
  3. package/dist/charts/components/Legend.js +5 -2
  4. package/dist/charts/components/Legend.js.map +1 -1
  5. package/dist/components/Actions/Button/Button.d.ts +46 -0
  6. package/dist/components/Actions/Link/Link.cjs +47 -0
  7. package/dist/components/Actions/Link/Link.cjs.map +1 -0
  8. package/dist/components/Actions/Link/Link.d.ts +28 -0
  9. package/dist/components/Actions/Link/Link.js +30 -0
  10. package/dist/components/Actions/Link/Link.js.map +1 -0
  11. package/dist/components/Actions/LinkButton/LinkButton.cjs +49 -0
  12. package/dist/components/Actions/LinkButton/LinkButton.cjs.map +1 -0
  13. package/dist/components/Actions/LinkButton/LinkButton.d.ts +40 -0
  14. package/dist/components/Actions/LinkButton/LinkButton.js +32 -0
  15. package/dist/components/Actions/LinkButton/LinkButton.js.map +1 -0
  16. package/dist/components/Actions/utils.cjs +44 -0
  17. package/dist/components/Actions/utils.cjs.map +1 -0
  18. package/dist/components/Actions/utils.d.ts +19 -0
  19. package/dist/components/Actions/utils.js +44 -0
  20. package/dist/components/Actions/utils.js.map +1 -0
  21. package/dist/components/Banner/Banner.cjs +2 -2
  22. package/dist/components/Banner/Banner.cjs.map +1 -1
  23. package/dist/components/Banner/Banner.js +2 -2
  24. package/dist/components/Banner/Banner.js.map +1 -1
  25. package/dist/components/Calendar/Calendar.cjs +3 -3
  26. package/dist/components/Calendar/Calendar.cjs.map +1 -1
  27. package/dist/components/Calendar/Calendar.js +3 -3
  28. package/dist/components/Calendar/Calendar.js.map +1 -1
  29. package/dist/components/Card/Card.cjs +2 -2
  30. package/dist/components/Card/Card.cjs.map +1 -1
  31. package/dist/components/Card/Card.js +2 -2
  32. package/dist/components/Card/Card.js.map +1 -1
  33. package/dist/components/Combobox/Combobox.cjs +3 -3
  34. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  35. package/dist/components/Combobox/Combobox.js +3 -3
  36. package/dist/components/Combobox/Combobox.js.map +1 -1
  37. package/dist/components/Datepicker/Datepicker.cjs +2 -2
  38. package/dist/components/Datepicker/Datepicker.cjs.map +1 -1
  39. package/dist/components/Datepicker/Datepicker.js +2 -2
  40. package/dist/components/Datepicker/Datepicker.js.map +1 -1
  41. package/dist/components/Dialog/components/Content.cjs +2 -2
  42. package/dist/components/Dialog/components/Content.cjs.map +1 -1
  43. package/dist/components/Dialog/components/Content.js +2 -2
  44. package/dist/components/Dialog/components/Content.js.map +1 -1
  45. package/dist/components/Drawer/components/Content.cjs +3 -3
  46. package/dist/components/Drawer/components/Content.cjs.map +1 -1
  47. package/dist/components/Drawer/components/Content.js +3 -3
  48. package/dist/components/Drawer/components/Content.js.map +1 -1
  49. package/dist/components/Hanger/Hanger.cjs +2 -2
  50. package/dist/components/Hanger/Hanger.cjs.map +1 -1
  51. package/dist/components/Hanger/Hanger.js +2 -2
  52. package/dist/components/Hanger/Hanger.js.map +1 -1
  53. package/dist/components/Header/components/AgreementSelector.cjs +2 -2
  54. package/dist/components/Header/components/AgreementSelector.cjs.map +1 -1
  55. package/dist/components/Header/components/AgreementSelector.js +2 -2
  56. package/dist/components/Header/components/AgreementSelector.js.map +1 -1
  57. package/dist/components/Header/components/Button.cjs +2 -2
  58. package/dist/components/Header/components/Button.cjs.map +1 -1
  59. package/dist/components/Header/components/Button.d.ts +3 -3
  60. package/dist/components/Header/components/Button.js +2 -2
  61. package/dist/components/Header/components/Button.js.map +1 -1
  62. package/dist/components/Header/components/MenuButton.cjs +2 -2
  63. package/dist/components/Header/components/MenuButton.cjs.map +1 -1
  64. package/dist/components/Header/components/MenuButton.js +2 -2
  65. package/dist/components/Header/components/MenuButton.js.map +1 -1
  66. package/dist/components/Header/components/PrimaryNavigation.cjs +2 -2
  67. package/dist/components/Header/components/PrimaryNavigation.cjs.map +1 -1
  68. package/dist/components/Header/components/PrimaryNavigation.js +2 -2
  69. package/dist/components/Header/components/PrimaryNavigation.js.map +1 -1
  70. package/dist/components/HoverCard/HoverCard.cjs +4 -5
  71. package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
  72. package/dist/components/HoverCard/HoverCard.d.ts +1 -2
  73. package/dist/components/HoverCard/HoverCard.js +4 -5
  74. package/dist/components/HoverCard/HoverCard.js.map +1 -1
  75. package/dist/components/{Button → LegacyComponents/Button}/Button.cjs +6 -6
  76. package/dist/components/LegacyComponents/Button/Button.cjs.map +1 -0
  77. package/dist/components/{Button → LegacyComponents/Button}/Button.d.ts +16 -10
  78. package/dist/components/{Button → LegacyComponents/Button}/Button.js +6 -6
  79. package/dist/components/LegacyComponents/Button/Button.js.map +1 -0
  80. package/dist/components/{Button → LegacyComponents/Button}/util.cjs +2 -2
  81. package/dist/components/LegacyComponents/Button/util.cjs.map +1 -0
  82. package/dist/components/{Button → LegacyComponents/Button}/util.d.ts +1 -1
  83. package/dist/components/{Button → LegacyComponents/Button}/util.js +2 -2
  84. package/dist/components/LegacyComponents/Button/util.js.map +1 -0
  85. package/dist/components/{IconButton → LegacyComponents/IconButton}/IconButton.cjs +7 -7
  86. package/dist/components/LegacyComponents/IconButton/IconButton.cjs.map +1 -0
  87. package/dist/components/{IconButton → LegacyComponents/IconButton}/IconButton.d.ts +19 -7
  88. package/dist/components/{IconButton → LegacyComponents/IconButton}/IconButton.js +7 -7
  89. package/dist/components/LegacyComponents/IconButton/IconButton.js.map +1 -0
  90. package/dist/components/Navigation2/components/Link.cjs +2 -2
  91. package/dist/components/Navigation2/components/Link.cjs.map +1 -1
  92. package/dist/components/Navigation2/components/Link.js +2 -2
  93. package/dist/components/Navigation2/components/Link.js.map +1 -1
  94. package/dist/components/OverflowGroup/OverflowGroup.cjs +2 -2
  95. package/dist/components/OverflowGroup/OverflowGroup.cjs.map +1 -1
  96. package/dist/components/OverflowGroup/OverflowGroup.d.ts +2 -2
  97. package/dist/components/OverflowGroup/OverflowGroup.js +2 -2
  98. package/dist/components/OverflowGroup/OverflowGroup.js.map +1 -1
  99. package/dist/components/Pagination/PageNumbers.cjs +2 -2
  100. package/dist/components/Pagination/PageNumbers.cjs.map +1 -1
  101. package/dist/components/Pagination/PageNumbers.js +2 -2
  102. package/dist/components/Pagination/PageNumbers.js.map +1 -1
  103. package/dist/components/Pagination/Pagination.cjs +5 -5
  104. package/dist/components/Pagination/Pagination.cjs.map +1 -1
  105. package/dist/components/Pagination/Pagination.js +5 -5
  106. package/dist/components/Pagination/Pagination.js.map +1 -1
  107. package/dist/components/Provider/Localization.cjs +3 -0
  108. package/dist/components/Provider/Localization.cjs.map +1 -1
  109. package/dist/components/Provider/Localization.d.ts +16 -10
  110. package/dist/components/Provider/Localization.js +3 -0
  111. package/dist/components/Provider/Localization.js.map +1 -1
  112. package/dist/components/SearchInput/SearchInput.cjs +3 -3
  113. package/dist/components/SearchInput/SearchInput.cjs.map +1 -1
  114. package/dist/components/SearchInput/SearchInput.js +3 -3
  115. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  116. package/dist/components/SearchInput2/SearchInput2.cjs +4 -4
  117. package/dist/components/SearchInput2/SearchInput2.cjs.map +1 -1
  118. package/dist/components/SearchInput2/SearchInput2.js +4 -4
  119. package/dist/components/SearchInput2/SearchInput2.js.map +1 -1
  120. package/dist/components/Select2/Select2.cjs +2 -2
  121. package/dist/components/Select2/Select2.cjs.map +1 -1
  122. package/dist/components/Select2/Select2.js +2 -2
  123. package/dist/components/Select2/Select2.js.map +1 -1
  124. package/dist/components/Select2/components/Create.cjs +2 -2
  125. package/dist/components/Select2/components/Create.cjs.map +1 -1
  126. package/dist/components/Select2/components/Create.js +2 -2
  127. package/dist/components/Select2/components/Create.js.map +1 -1
  128. package/dist/components/Select2/components/Edit.cjs +3 -3
  129. package/dist/components/Select2/components/Edit.cjs.map +1 -1
  130. package/dist/components/Select2/components/Edit.js +3 -3
  131. package/dist/components/Select2/components/Edit.js.map +1 -1
  132. package/dist/components/Select2/components/Option.cjs +2 -2
  133. package/dist/components/Select2/components/Option.cjs.map +1 -1
  134. package/dist/components/Select2/components/Option.js +2 -2
  135. package/dist/components/Select2/components/Option.js.map +1 -1
  136. package/dist/components/Table/hooks/plugins/useRowActions.cjs +8 -8
  137. package/dist/components/Table/hooks/plugins/useRowActions.cjs.map +1 -1
  138. package/dist/components/Table/hooks/plugins/useRowActions.js +8 -8
  139. package/dist/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  140. package/dist/components/Table3/components/Editing/Alert.cjs +2 -2
  141. package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
  142. package/dist/components/Table3/components/Editing/Alert.js +2 -2
  143. package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
  144. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.cjs +4 -4
  145. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.cjs.map +1 -1
  146. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +4 -4
  147. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +1 -1
  148. package/dist/components/Table3/components/Row/Editing/CreateNewRow.cjs +2 -2
  149. package/dist/components/Table3/components/Row/Editing/CreateNewRow.cjs.map +1 -1
  150. package/dist/components/Table3/components/Row/Editing/CreateNewRow.js +2 -2
  151. package/dist/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -1
  152. package/dist/components/Table3/useTable3.cjs +3 -3
  153. package/dist/components/Table3/useTable3.cjs.map +1 -1
  154. package/dist/components/Table3/useTable3.js +3 -3
  155. package/dist/components/Table3/useTable3.js.map +1 -1
  156. package/dist/components/Tabs/components/TabList.cjs +2 -2
  157. package/dist/components/Tabs/components/TabList.cjs.map +1 -1
  158. package/dist/components/Tabs/components/TabList.js +2 -2
  159. package/dist/components/Tabs/components/TabList.js.map +1 -1
  160. package/dist/components/Tabs/components/Trigger.cjs +1 -1
  161. package/dist/components/Tabs/components/Trigger.cjs.map +1 -1
  162. package/dist/components/Tabs/components/Trigger.js +1 -1
  163. package/dist/components/Tabs/components/Trigger.js.map +1 -1
  164. package/dist/components/Toast/Toast.cjs +2 -2
  165. package/dist/components/Toast/Toast.cjs.map +1 -1
  166. package/dist/components/Toast/Toast.js +2 -2
  167. package/dist/components/Toast/Toast.js.map +1 -1
  168. package/dist/components/Tour/Tour.cjs +4 -4
  169. package/dist/components/Tour/Tour.cjs.map +1 -1
  170. package/dist/components/Tour/Tour.js +4 -4
  171. package/dist/components/Tour/Tour.js.map +1 -1
  172. package/dist/components/Typography/Text.cjs +1 -2
  173. package/dist/components/Typography/Text.cjs.map +1 -1
  174. package/dist/components/Typography/Text.js +2 -3
  175. package/dist/components/Typography/Text.js.map +1 -1
  176. package/dist/index.cjs +11 -7
  177. package/dist/index.cjs.map +1 -1
  178. package/dist/index.d.ts +4 -2
  179. package/dist/index.js +9 -5
  180. package/dist/index.js.map +1 -1
  181. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs +2 -2
  182. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
  183. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js +2 -2
  184. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  185. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs +3 -3
  186. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs.map +1 -1
  187. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js +3 -3
  188. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
  189. package/dist/primitives/Table/Core/components/Header/components/Menu.cjs +2 -2
  190. package/dist/primitives/Table/Core/components/Header/components/Menu.cjs.map +1 -1
  191. package/dist/primitives/Table/Core/components/Header/components/Menu.js +2 -2
  192. package/dist/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
  193. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs +4 -4
  194. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs.map +1 -1
  195. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js +4 -4
  196. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js.map +1 -1
  197. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +2 -2
  198. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
  199. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +2 -2
  200. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  201. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs +2 -2
  202. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs.map +1 -1
  203. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js +2 -2
  204. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  205. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +2 -2
  206. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
  207. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +2 -2
  208. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  209. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.cjs +3 -3
  210. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.cjs.map +1 -1
  211. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js +3 -3
  212. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js.map +1 -1
  213. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs +3 -3
  214. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs.map +1 -1
  215. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +3 -3
  216. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
  217. package/dist/taco.css +22 -22
  218. package/dist/utils/typography.cjs +6 -0
  219. package/dist/utils/typography.cjs.map +1 -1
  220. package/dist/utils/typography.d.ts +5 -0
  221. package/dist/utils/typography.js +6 -0
  222. package/dist/utils/typography.js.map +1 -1
  223. package/package.json +6 -6
  224. package/dist/components/Button/Button.cjs.map +0 -1
  225. package/dist/components/Button/Button.js.map +0 -1
  226. package/dist/components/Button/util.cjs.map +0 -1
  227. package/dist/components/Button/util.js.map +0 -1
  228. package/dist/components/IconButton/IconButton.cjs.map +0 -1
  229. package/dist/components/IconButton/IconButton.js.map +0 -1
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const cn = require("clsx");
5
- const Button = require("../../components/Button/Button.cjs");
5
+ ;/* empty css */
6
+ require("@economic/taco-tokens/tokens.css");
7
+ require("@economic/taco-tokens");
8
+ const Button = require("../../components/LegacyComponents/Button/Button.cjs");
6
9
  const Icon = require("../../components/Icon/Icon.cjs");
7
10
  const OverflowGroup = require("../../components/OverflowGroup/OverflowGroup.cjs");
8
11
  function Legend(props) {
@@ -20,7 +23,7 @@ function Legend(props) {
20
23
  }
21
24
  handleToggle(item.dataKey);
22
25
  };
23
- const moreButton = (moreButtonText) => /* @__PURE__ */ React.createElement(Button.Button, { appearance: "transparent", className: "!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700" }, moreButtonText);
26
+ const moreButton = (moreButtonText) => /* @__PURE__ */ React.createElement(Button.LegacyButton, { appearance: "transparent", className: "!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700" }, moreButtonText);
24
27
  return /* @__PURE__ */ React.createElement(OverflowGroup.OverflowGroup, { className: "mt-3 w-full gap-x-1", moreButton }, items.map((item, index) => {
25
28
  const className = cn.clsx("mr-1 flex h-3 w-3 rounded-sm", {
26
29
  border: item.isHidden
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.cjs","sources":["../../../src/charts/components/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { Button } from '../../components/Button/Button';\nimport { Icon } from '../../components/Icon/Icon';\nimport { OverflowGroup } from '../../components/OverflowGroup/OverflowGroup';\nimport { ChartChildProps } from './types';\n\nexport interface LegendProps<TData extends object> {\n items: ChartChildProps<TData>[];\n hoverIndex: number | undefined;\n onHover: (index: number | undefined) => void;\n onToggle: (name: keyof TData) => void;\n}\n\nexport function Legend<TData extends object>(props: LegendProps<TData>) {\n const { hoverIndex, items, onHover: handleHover, onToggle: handleToggle } = props;\n\n const handleMouseEnter = (item: ChartChildProps<TData>, index: number) => {\n if (item.isHidden) {\n return;\n }\n\n handleHover(index);\n };\n const handleMouseLeave = () => handleHover(undefined);\n\n const handleClick = (item: ChartChildProps<TData>) => {\n // remove hover if hiding the item\n if (!item.isHidden) {\n handleHover(undefined);\n }\n\n handleToggle(item.dataKey);\n };\n\n const moreButton = (moreButtonText: string) => (\n <Button appearance=\"transparent\" className=\"!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700\">\n {moreButtonText}\n </Button>\n );\n\n return (\n <OverflowGroup className=\"mt-3 w-full gap-x-1\" moreButton={moreButton}>\n {items.map((item, index) => {\n const className = clsx('mr-1 flex h-3 w-3 rounded-sm', {\n border: item.isHidden,\n });\n let style;\n\n if (!item.isHidden) {\n style = { backgroundColor: item.color };\n }\n\n return (\n <button\n key={`${item.label}_${index}`}\n className=\"focus-visible:yt-focus flex items-center rounded px-1 !text-xs hover:bg-gray-200\"\n onClick={event => {\n event?.preventDefault();\n handleClick(item);\n }}\n onMouseEnter={() => handleMouseEnter(item, index)}\n onMouseLeave={() => handleMouseLeave()}>\n <span className={className} style={style}>\n {hoverIndex === index ? (\n <Icon name=\"tick-bold\" className={clsx('!h-full !w-full', { 'text-white': !item.isHidden })} />\n ) : null}\n </span>\n {item.label}\n </button>\n );\n })}\n </OverflowGroup>\n );\n}\n"],"names":["Button","OverflowGroup","clsx","Icon"],"mappings":";;;;;;;AAcO,SAAS,OAA6B,OAA2B;AACpE,QAAM,EAAE,YAAY,OAAO,SAAS,aAAa,UAAU,iBAAiB;AAEtE,QAAA,mBAAmB,CAAC,MAA8B,UAAkB;AACtE,QAAI,KAAK,UAAU;AACf;AAAA,IAAA;AAGJ,gBAAY,KAAK;AAAA,EACrB;AACM,QAAA,mBAAmB,MAAM,YAAY,MAAS;AAE9C,QAAA,cAAc,CAAC,SAAiC;AAE9C,QAAA,CAAC,KAAK,UAAU;AAChB,kBAAY,MAAS;AAAA,IAAA;AAGzB,iBAAa,KAAK,OAAO;AAAA,EAC7B;AAEM,QAAA,aAAa,CAAC,mBAChB,sBAAA,cAACA,OAAAA,UAAO,YAAW,eAAc,WAAU,sDAAA,GACtC,cACL;AAIA,SAAA,sBAAA,cAACC,+BAAc,WAAU,uBAAsB,cAC1C,MAAM,IAAI,CAAC,MAAM,UAAU;AAClB,UAAA,YAAYC,QAAK,gCAAgC;AAAA,MACnD,QAAQ,KAAK;AAAA,IAAA,CAChB;AACG,QAAA;AAEA,QAAA,CAAC,KAAK,UAAU;AACR,cAAA,EAAE,iBAAiB,KAAK,MAAM;AAAA,IAAA;AAItC,WAAA,sBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,QAC3B,WAAU;AAAA,QACV,SAAS,CAAS,UAAA;AACd,yCAAO;AACP,sBAAY,IAAI;AAAA,QACpB;AAAA,QACA,cAAc,MAAM,iBAAiB,MAAM,KAAK;AAAA,QAChD,cAAc,MAAM,iBAAiB;AAAA,MAAA;AAAA,MACrC,sBAAA,cAAC,UAAK,WAAsB,SACvB,eAAe,QACZ,sBAAA,cAACC,KAAAA,QAAK,MAAK,aAAY,WAAWD,QAAK,mBAAmB,EAAE,cAAc,CAAC,KAAK,SAAS,CAAC,EAAG,CAAA,IAC7F,IACR;AAAA,MACC,KAAK;AAAA,IACV;AAAA,EAAA,CAEP,CACL;AAER;;"}
1
+ {"version":3,"file":"Legend.cjs","sources":["../../../src/charts/components/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { LegacyButton, Icon, OverflowGroup } from '../../index';\nimport { ChartChildProps } from './types';\n\nexport interface LegendProps<TData extends object> {\n items: ChartChildProps<TData>[];\n hoverIndex: number | undefined;\n onHover: (index: number | undefined) => void;\n onToggle: (name: keyof TData) => void;\n}\n\nexport function Legend<TData extends object>(props: LegendProps<TData>) {\n const { hoverIndex, items, onHover: handleHover, onToggle: handleToggle } = props;\n\n const handleMouseEnter = (item: ChartChildProps<TData>, index: number) => {\n if (item.isHidden) {\n return;\n }\n\n handleHover(index);\n };\n const handleMouseLeave = () => handleHover(undefined);\n\n const handleClick = (item: ChartChildProps<TData>) => {\n // remove hover if hiding the item\n if (!item.isHidden) {\n handleHover(undefined);\n }\n\n handleToggle(item.dataKey);\n };\n\n const moreButton = (moreButtonText: string) => (\n <LegacyButton appearance=\"transparent\" className=\"!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700\">\n {moreButtonText}\n </LegacyButton>\n );\n\n return (\n <OverflowGroup className=\"mt-3 w-full gap-x-1\" moreButton={moreButton}>\n {items.map((item, index) => {\n const className = clsx('mr-1 flex h-3 w-3 rounded-sm', {\n border: item.isHidden,\n });\n let style;\n\n if (!item.isHidden) {\n style = { backgroundColor: item.color };\n }\n\n return (\n <button\n key={`${item.label}_${index}`}\n className=\"focus-visible:yt-focus flex items-center rounded px-1 !text-xs hover:bg-gray-200\"\n onClick={event => {\n event?.preventDefault();\n handleClick(item);\n }}\n onMouseEnter={() => handleMouseEnter(item, index)}\n onMouseLeave={() => handleMouseLeave()}>\n <span className={className} style={style}>\n {hoverIndex === index ? (\n <Icon name=\"tick-bold\" className={clsx('!h-full !w-full', { 'text-white': !item.isHidden })} />\n ) : null}\n </span>\n {item.label}\n </button>\n );\n })}\n </OverflowGroup>\n );\n}\n"],"names":["LegacyButton","OverflowGroup","clsx","Icon"],"mappings":";;;;;;;;;;AAYO,SAAS,OAA6B,OAA2B;AACpE,QAAM,EAAE,YAAY,OAAO,SAAS,aAAa,UAAU,iBAAiB;AAEtE,QAAA,mBAAmB,CAAC,MAA8B,UAAkB;AACtE,QAAI,KAAK,UAAU;AACf;AAAA,IAAA;AAGJ,gBAAY,KAAK;AAAA,EACrB;AACM,QAAA,mBAAmB,MAAM,YAAY,MAAS;AAE9C,QAAA,cAAc,CAAC,SAAiC;AAE9C,QAAA,CAAC,KAAK,UAAU;AAChB,kBAAY,MAAS;AAAA,IAAA;AAGzB,iBAAa,KAAK,OAAO;AAAA,EAC7B;AAEM,QAAA,aAAa,CAAC,mBAChB,sBAAA,cAACA,OAAAA,gBAAa,YAAW,eAAc,WAAU,sDAAA,GAC5C,cACL;AAIA,SAAA,sBAAA,cAACC,+BAAc,WAAU,uBAAsB,cAC1C,MAAM,IAAI,CAAC,MAAM,UAAU;AAClB,UAAA,YAAYC,QAAK,gCAAgC;AAAA,MACnD,QAAQ,KAAK;AAAA,IAAA,CAChB;AACG,QAAA;AAEA,QAAA,CAAC,KAAK,UAAU;AACR,cAAA,EAAE,iBAAiB,KAAK,MAAM;AAAA,IAAA;AAItC,WAAA,sBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,QAC3B,WAAU;AAAA,QACV,SAAS,CAAS,UAAA;AACd,yCAAO;AACP,sBAAY,IAAI;AAAA,QACpB;AAAA,QACA,cAAc,MAAM,iBAAiB,MAAM,KAAK;AAAA,QAChD,cAAc,MAAM,iBAAiB;AAAA,MAAA;AAAA,MACrC,sBAAA,cAAC,UAAK,WAAsB,SACvB,eAAe,QACZ,sBAAA,cAACC,KAAAA,QAAK,MAAK,aAAY,WAAWD,QAAK,mBAAmB,EAAE,cAAc,CAAC,KAAK,SAAS,CAAC,EAAG,CAAA,IAC7F,IACR;AAAA,MACC,KAAK;AAAA,IACV;AAAA,EAAA,CAEP,CACL;AAER;;"}
@@ -1,6 +1,9 @@
1
1
  import React__default from "react";
2
2
  import { clsx } from "clsx";
3
- import { Button } from "../../components/Button/Button.js";
3
+ /* empty css */
4
+ import "@economic/taco-tokens/tokens.css";
5
+ import "@economic/taco-tokens";
6
+ import { LegacyButton } from "../../components/LegacyComponents/Button/Button.js";
4
7
  import { Icon } from "../../components/Icon/Icon.js";
5
8
  import { OverflowGroup } from "../../components/OverflowGroup/OverflowGroup.js";
6
9
  function Legend(props) {
@@ -18,7 +21,7 @@ function Legend(props) {
18
21
  }
19
22
  handleToggle(item.dataKey);
20
23
  };
21
- const moreButton = (moreButtonText) => /* @__PURE__ */ React__default.createElement(Button, { appearance: "transparent", className: "!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700" }, moreButtonText);
24
+ const moreButton = (moreButtonText) => /* @__PURE__ */ React__default.createElement(LegacyButton, { appearance: "transparent", className: "!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700" }, moreButtonText);
22
25
  return /* @__PURE__ */ React__default.createElement(OverflowGroup, { className: "mt-3 w-full gap-x-1", moreButton }, items.map((item, index) => {
23
26
  const className = clsx("mr-1 flex h-3 w-3 rounded-sm", {
24
27
  border: item.isHidden
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","sources":["../../../src/charts/components/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { Button } from '../../components/Button/Button';\nimport { Icon } from '../../components/Icon/Icon';\nimport { OverflowGroup } from '../../components/OverflowGroup/OverflowGroup';\nimport { ChartChildProps } from './types';\n\nexport interface LegendProps<TData extends object> {\n items: ChartChildProps<TData>[];\n hoverIndex: number | undefined;\n onHover: (index: number | undefined) => void;\n onToggle: (name: keyof TData) => void;\n}\n\nexport function Legend<TData extends object>(props: LegendProps<TData>) {\n const { hoverIndex, items, onHover: handleHover, onToggle: handleToggle } = props;\n\n const handleMouseEnter = (item: ChartChildProps<TData>, index: number) => {\n if (item.isHidden) {\n return;\n }\n\n handleHover(index);\n };\n const handleMouseLeave = () => handleHover(undefined);\n\n const handleClick = (item: ChartChildProps<TData>) => {\n // remove hover if hiding the item\n if (!item.isHidden) {\n handleHover(undefined);\n }\n\n handleToggle(item.dataKey);\n };\n\n const moreButton = (moreButtonText: string) => (\n <Button appearance=\"transparent\" className=\"!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700\">\n {moreButtonText}\n </Button>\n );\n\n return (\n <OverflowGroup className=\"mt-3 w-full gap-x-1\" moreButton={moreButton}>\n {items.map((item, index) => {\n const className = clsx('mr-1 flex h-3 w-3 rounded-sm', {\n border: item.isHidden,\n });\n let style;\n\n if (!item.isHidden) {\n style = { backgroundColor: item.color };\n }\n\n return (\n <button\n key={`${item.label}_${index}`}\n className=\"focus-visible:yt-focus flex items-center rounded px-1 !text-xs hover:bg-gray-200\"\n onClick={event => {\n event?.preventDefault();\n handleClick(item);\n }}\n onMouseEnter={() => handleMouseEnter(item, index)}\n onMouseLeave={() => handleMouseLeave()}>\n <span className={className} style={style}>\n {hoverIndex === index ? (\n <Icon name=\"tick-bold\" className={clsx('!h-full !w-full', { 'text-white': !item.isHidden })} />\n ) : null}\n </span>\n {item.label}\n </button>\n );\n })}\n </OverflowGroup>\n );\n}\n"],"names":["React"],"mappings":";;;;;AAcO,SAAS,OAA6B,OAA2B;AACpE,QAAM,EAAE,YAAY,OAAO,SAAS,aAAa,UAAU,iBAAiB;AAEtE,QAAA,mBAAmB,CAAC,MAA8B,UAAkB;AACtE,QAAI,KAAK,UAAU;AACf;AAAA,IAAA;AAGJ,gBAAY,KAAK;AAAA,EACrB;AACM,QAAA,mBAAmB,MAAM,YAAY,MAAS;AAE9C,QAAA,cAAc,CAAC,SAAiC;AAE9C,QAAA,CAAC,KAAK,UAAU;AAChB,kBAAY,MAAS;AAAA,IAAA;AAGzB,iBAAa,KAAK,OAAO;AAAA,EAC7B;AAEM,QAAA,aAAa,CAAC,mBAChBA,+BAAA,cAAC,UAAO,YAAW,eAAc,WAAU,sDAAA,GACtC,cACL;AAIA,SAAAA,+BAAA,cAAC,iBAAc,WAAU,uBAAsB,cAC1C,MAAM,IAAI,CAAC,MAAM,UAAU;AAClB,UAAA,YAAY,KAAK,gCAAgC;AAAA,MACnD,QAAQ,KAAK;AAAA,IAAA,CAChB;AACG,QAAA;AAEA,QAAA,CAAC,KAAK,UAAU;AACR,cAAA,EAAE,iBAAiB,KAAK,MAAM;AAAA,IAAA;AAItC,WAAAA,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,QAC3B,WAAU;AAAA,QACV,SAAS,CAAS,UAAA;AACd,yCAAO;AACP,sBAAY,IAAI;AAAA,QACpB;AAAA,QACA,cAAc,MAAM,iBAAiB,MAAM,KAAK;AAAA,QAChD,cAAc,MAAM,iBAAiB;AAAA,MAAA;AAAA,MACrCA,+BAAA,cAAC,UAAK,WAAsB,SACvB,eAAe,QACZA,+BAAA,cAAC,QAAK,MAAK,aAAY,WAAW,KAAK,mBAAmB,EAAE,cAAc,CAAC,KAAK,SAAS,CAAC,EAAG,CAAA,IAC7F,IACR;AAAA,MACC,KAAK;AAAA,IACV;AAAA,EAAA,CAEP,CACL;AAER;"}
1
+ {"version":3,"file":"Legend.js","sources":["../../../src/charts/components/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { LegacyButton, Icon, OverflowGroup } from '../../index';\nimport { ChartChildProps } from './types';\n\nexport interface LegendProps<TData extends object> {\n items: ChartChildProps<TData>[];\n hoverIndex: number | undefined;\n onHover: (index: number | undefined) => void;\n onToggle: (name: keyof TData) => void;\n}\n\nexport function Legend<TData extends object>(props: LegendProps<TData>) {\n const { hoverIndex, items, onHover: handleHover, onToggle: handleToggle } = props;\n\n const handleMouseEnter = (item: ChartChildProps<TData>, index: number) => {\n if (item.isHidden) {\n return;\n }\n\n handleHover(index);\n };\n const handleMouseLeave = () => handleHover(undefined);\n\n const handleClick = (item: ChartChildProps<TData>) => {\n // remove hover if hiding the item\n if (!item.isHidden) {\n handleHover(undefined);\n }\n\n handleToggle(item.dataKey);\n };\n\n const moreButton = (moreButtonText: string) => (\n <LegacyButton appearance=\"transparent\" className=\"!h-5 !min-h-[1.25rem] !px-1.5 text-xs text-gray-700\">\n {moreButtonText}\n </LegacyButton>\n );\n\n return (\n <OverflowGroup className=\"mt-3 w-full gap-x-1\" moreButton={moreButton}>\n {items.map((item, index) => {\n const className = clsx('mr-1 flex h-3 w-3 rounded-sm', {\n border: item.isHidden,\n });\n let style;\n\n if (!item.isHidden) {\n style = { backgroundColor: item.color };\n }\n\n return (\n <button\n key={`${item.label}_${index}`}\n className=\"focus-visible:yt-focus flex items-center rounded px-1 !text-xs hover:bg-gray-200\"\n onClick={event => {\n event?.preventDefault();\n handleClick(item);\n }}\n onMouseEnter={() => handleMouseEnter(item, index)}\n onMouseLeave={() => handleMouseLeave()}>\n <span className={className} style={style}>\n {hoverIndex === index ? (\n <Icon name=\"tick-bold\" className={clsx('!h-full !w-full', { 'text-white': !item.isHidden })} />\n ) : null}\n </span>\n {item.label}\n </button>\n );\n })}\n </OverflowGroup>\n );\n}\n"],"names":["React"],"mappings":";;;;;;;;AAYO,SAAS,OAA6B,OAA2B;AACpE,QAAM,EAAE,YAAY,OAAO,SAAS,aAAa,UAAU,iBAAiB;AAEtE,QAAA,mBAAmB,CAAC,MAA8B,UAAkB;AACtE,QAAI,KAAK,UAAU;AACf;AAAA,IAAA;AAGJ,gBAAY,KAAK;AAAA,EACrB;AACM,QAAA,mBAAmB,MAAM,YAAY,MAAS;AAE9C,QAAA,cAAc,CAAC,SAAiC;AAE9C,QAAA,CAAC,KAAK,UAAU;AAChB,kBAAY,MAAS;AAAA,IAAA;AAGzB,iBAAa,KAAK,OAAO;AAAA,EAC7B;AAEM,QAAA,aAAa,CAAC,mBAChBA,+BAAA,cAAC,gBAAa,YAAW,eAAc,WAAU,sDAAA,GAC5C,cACL;AAIA,SAAAA,+BAAA,cAAC,iBAAc,WAAU,uBAAsB,cAC1C,MAAM,IAAI,CAAC,MAAM,UAAU;AAClB,UAAA,YAAY,KAAK,gCAAgC;AAAA,MACnD,QAAQ,KAAK;AAAA,IAAA,CAChB;AACG,QAAA;AAEA,QAAA,CAAC,KAAK,UAAU;AACR,cAAA,EAAE,iBAAiB,KAAK,MAAM;AAAA,IAAA;AAItC,WAAAA,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,QAC3B,WAAU;AAAA,QACV,SAAS,CAAS,UAAA;AACd,yCAAO;AACP,sBAAY,IAAI;AAAA,QACpB;AAAA,QACA,cAAc,MAAM,iBAAiB,MAAM,KAAK;AAAA,QAChD,cAAc,MAAM,iBAAiB;AAAA,MAAA;AAAA,MACrCA,+BAAA,cAAC,UAAK,WAAsB,SACvB,eAAe,QACZA,+BAAA,cAAC,QAAK,MAAK,aAAY,WAAW,KAAK,mBAAmB,EAAE,cAAc,CAAC,KAAK,SAAS,CAAC,EAAG,CAAA,IAC7F,IACR;AAAA,MACC,KAAK;AAAA,IACV;AAAA,EAAA,CAEP,CACL;AAER;"}
@@ -0,0 +1,46 @@
1
+ import { ButtonSize, ButtonPurpose, ButtonVariant } from './../utils';
2
+ import { IconName } from '../../Icon/Icon';
3
+ import * as React from 'react';
4
+ export type ButtonTexts = {
5
+ busyMsg: string;
6
+ };
7
+ /**
8
+ * Button Text: string text (literals, template literals, i18n helpers that return `string`, string constants),
9
+ * or a single React element—typically a component whose output is text-only.
10
+ */
11
+ export type ButtonChildren = string | React.ReactElement;
12
+ type IconProps = {
13
+ icon: IconName;
14
+ iconPlacement?: 'start' | 'end';
15
+ iconOnly?: never;
16
+ } | {
17
+ icon: IconName;
18
+ iconOnly: true;
19
+ iconPlacement?: never;
20
+ } | {
21
+ icon?: never;
22
+ iconPlacement?: never;
23
+ iconOnly?: never;
24
+ };
25
+ export type ButtonIdleProps = ButtonCommonProps & {
26
+ busy?: boolean;
27
+ busyMsg?: string;
28
+ disabled?: boolean;
29
+ };
30
+ export type ButtonBusyProps = ButtonCommonProps & {
31
+ busy: true;
32
+ busyMsg?: string;
33
+ disabled?: never;
34
+ };
35
+ type ButtonCommonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'className' | 'style' | 'disabled'> & IconProps & {
36
+ purpose?: ButtonPurpose;
37
+ /** Variant determines primary, secondary or tertiary use. Secondary will be default */
38
+ variant?: ButtonVariant;
39
+ size?: ButtonSize;
40
+ type?: 'button' | 'submit' | 'reset';
41
+ /** The text content of the Button */
42
+ children: ButtonChildren;
43
+ };
44
+ export type ButtonProps = ButtonIdleProps | ButtonBusyProps;
45
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
46
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const cn = require("clsx");
5
+ const typography = require("../../../utils/typography.cjs");
6
+ function _interopNamespaceDefault(e) {
7
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
+ if (e) {
9
+ for (const k in e) {
10
+ if (k !== "default") {
11
+ const d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: () => e[k]
15
+ });
16
+ }
17
+ }
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
23
+ function LinkInner(props, ref) {
24
+ const {
25
+ as,
26
+ size,
27
+ bold,
28
+ children,
29
+ className: _,
30
+ style: __,
31
+ ...otherProps
32
+ } = props;
33
+ const Component = as || "a";
34
+ const className = cn(
35
+ size ? [typography.TYPOGRAPHY_TEXT_SIZE_CLASSES[size], typography.TYPOGRAPHY_LINE_HEIGHT_CLASSES[size]] : void 0,
36
+ /** set underline thickness depending on size of Link */
37
+ size === "sm" ? "decoration-1" : "decoration-2",
38
+ "underline cursor-pointer focus:outline-transparent focus-visible:yt-focus text-blue-700 hover:text-blue-900 active:text-blue-900 visited:text-blue-700 underline-offset-2 ",
39
+ {
40
+ "font-bold": bold
41
+ }
42
+ );
43
+ return /* @__PURE__ */ React__namespace.createElement(Component, { ...otherProps, className, "data-taco": "link", ref }, children);
44
+ }
45
+ const Link = React__namespace.forwardRef(LinkInner);
46
+ exports.Link = Link;
47
+ //# sourceMappingURL=Link.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.cjs","sources":["../../../../src/components/Actions/Link/Link.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\n\nimport { TYPOGRAPHY_LINE_HEIGHT_CLASSES, TYPOGRAPHY_TEXT_SIZE_CLASSES } from '../../../utils/typography';\n\n/**\n * Link label: string text (literals, template literals, i18n helpers that return `string`, string constants),\n * or a single React element—typically a component whose output is text-only.\n * (TypeScript cannot enforce “component returns string” vs JSX; avoid non-text elements.)\n */\nexport type LinkChildren = string | React.ReactElement | null;\n\n/** Props specific to our Link component */\ntype LinkOwnProps<T extends React.ElementType = 'a'> = {\n /** Allows using a custom or framework-specific link component (e.g. Next.js or React Router) */\n as?: T;\n /** Set specific size that matches our text sizes. If it's not set, it inherits the parent size */\n size?: 'sm' | 'md' | 'lg';\n /** If true, the Link will be rendered in bold */\n bold?: boolean;\n /** The content of the Link */\n children?: LinkChildren;\n};\n\n/**\n * LinkProps combines our own props with the props of the underlying element (via `as`).\n * This allows the component to accept props like `to` for React Router or `href` for native anchors.\n * Note: `className` and `style` are explicitly excluded.\n */\nexport type LinkProps<T extends React.ElementType = 'a'> = LinkOwnProps<T> &\n Omit<React.ComponentPropsWithoutRef<T>, keyof LinkOwnProps<T> | 'className' | 'style'>;\n\nfunction LinkInner<T extends React.ElementType = 'a'>(\n props: LinkProps<T> & { ref?: React.Ref<unknown> },\n ref: React.Ref<unknown>\n) {\n // Destructure and discard className/style to prevent them from being applied at runtime\n const {\n as,\n size,\n bold,\n children,\n className: _,\n style: __,\n ...otherProps\n } = props as LinkProps<T> & {\n className?: string;\n style?: React.CSSProperties;\n };\n\n const Component: React.ElementType = as || 'a';\n\n const className = cn(\n size ? [TYPOGRAPHY_TEXT_SIZE_CLASSES[size], TYPOGRAPHY_LINE_HEIGHT_CLASSES[size]] : undefined,\n /** set underline thickness depending on size of Link */\n size === 'sm' ? 'decoration-1' : 'decoration-2',\n 'underline cursor-pointer focus:outline-transparent focus-visible:yt-focus text-blue-700 hover:text-blue-900 active:text-blue-900 visited:text-blue-700 underline-offset-2 ',\n {\n 'font-bold': bold,\n }\n );\n\n return (\n <Component {...otherProps} className={className} data-taco=\"link\" ref={ref}>\n {children}\n </Component>\n );\n}\n\nexport const Link = React.forwardRef(LinkInner) as <T extends React.ElementType = 'a'>(\n props: LinkProps<T> & { ref?: React.Ref<unknown> }\n) => React.ReactElement | null;\n"],"names":["TYPOGRAPHY_TEXT_SIZE_CLASSES","TYPOGRAPHY_LINE_HEIGHT_CLASSES","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAS,UACL,OACA,KACF;AAEQ,QAAA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EAAA,IACH;AAKJ,QAAM,YAA+B,MAAM;AAE3C,QAAM,YAAY;AAAA,IACd,OAAO,CAACA,WAAAA,6BAA6B,IAAI,GAAGC,WAAAA,+BAA+B,IAAI,CAAC,IAAI;AAAA;AAAA,IAEpF,SAAS,OAAO,iBAAiB;AAAA,IACjC;AAAA,IACA;AAAA,MACI,aAAa;AAAA,IAAA;AAAA,EAErB;AAGI,SAAAC,iCAAA,cAAC,aAAW,GAAG,YAAY,WAAsB,aAAU,QAAO,OAC7D,QACL;AAER;AAEa,MAAA,OAAOA,iBAAM,WAAW,SAAS;;"}
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Link label: string text (literals, template literals, i18n helpers that return `string`, string constants),
4
+ * or a single React element—typically a component whose output is text-only.
5
+ * (TypeScript cannot enforce “component returns string” vs JSX; avoid non-text elements.)
6
+ */
7
+ export type LinkChildren = string | React.ReactElement | null;
8
+ /** Props specific to our Link component */
9
+ type LinkOwnProps<T extends React.ElementType = 'a'> = {
10
+ /** Allows using a custom or framework-specific link component (e.g. Next.js or React Router) */
11
+ as?: T;
12
+ /** Set specific size that matches our text sizes. If it's not set, it inherits the parent size */
13
+ size?: 'sm' | 'md' | 'lg';
14
+ /** If true, the Link will be rendered in bold */
15
+ bold?: boolean;
16
+ /** The content of the Link */
17
+ children?: LinkChildren;
18
+ };
19
+ /**
20
+ * LinkProps combines our own props with the props of the underlying element (via `as`).
21
+ * This allows the component to accept props like `to` for React Router or `href` for native anchors.
22
+ * Note: `className` and `style` are explicitly excluded.
23
+ */
24
+ export type LinkProps<T extends React.ElementType = 'a'> = LinkOwnProps<T> & Omit<React.ComponentPropsWithoutRef<T>, keyof LinkOwnProps<T> | 'className' | 'style'>;
25
+ export declare const Link: <T extends React.ElementType = "a">(props: LinkProps<T> & {
26
+ ref?: React.Ref<unknown>;
27
+ }) => React.ReactElement | null;
28
+ export {};
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import cn from "clsx";
3
+ import { TYPOGRAPHY_TEXT_SIZE_CLASSES, TYPOGRAPHY_LINE_HEIGHT_CLASSES } from "../../../utils/typography.js";
4
+ function LinkInner(props, ref) {
5
+ const {
6
+ as,
7
+ size,
8
+ bold,
9
+ children,
10
+ className: _,
11
+ style: __,
12
+ ...otherProps
13
+ } = props;
14
+ const Component = as || "a";
15
+ const className = cn(
16
+ size ? [TYPOGRAPHY_TEXT_SIZE_CLASSES[size], TYPOGRAPHY_LINE_HEIGHT_CLASSES[size]] : void 0,
17
+ /** set underline thickness depending on size of Link */
18
+ size === "sm" ? "decoration-1" : "decoration-2",
19
+ "underline cursor-pointer focus:outline-transparent focus-visible:yt-focus text-blue-700 hover:text-blue-900 active:text-blue-900 visited:text-blue-700 underline-offset-2 ",
20
+ {
21
+ "font-bold": bold
22
+ }
23
+ );
24
+ return /* @__PURE__ */ React.createElement(Component, { ...otherProps, className, "data-taco": "link", ref }, children);
25
+ }
26
+ const Link = React.forwardRef(LinkInner);
27
+ export {
28
+ Link
29
+ };
30
+ //# sourceMappingURL=Link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.js","sources":["../../../../src/components/Actions/Link/Link.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\n\nimport { TYPOGRAPHY_LINE_HEIGHT_CLASSES, TYPOGRAPHY_TEXT_SIZE_CLASSES } from '../../../utils/typography';\n\n/**\n * Link label: string text (literals, template literals, i18n helpers that return `string`, string constants),\n * or a single React element—typically a component whose output is text-only.\n * (TypeScript cannot enforce “component returns string” vs JSX; avoid non-text elements.)\n */\nexport type LinkChildren = string | React.ReactElement | null;\n\n/** Props specific to our Link component */\ntype LinkOwnProps<T extends React.ElementType = 'a'> = {\n /** Allows using a custom or framework-specific link component (e.g. Next.js or React Router) */\n as?: T;\n /** Set specific size that matches our text sizes. If it's not set, it inherits the parent size */\n size?: 'sm' | 'md' | 'lg';\n /** If true, the Link will be rendered in bold */\n bold?: boolean;\n /** The content of the Link */\n children?: LinkChildren;\n};\n\n/**\n * LinkProps combines our own props with the props of the underlying element (via `as`).\n * This allows the component to accept props like `to` for React Router or `href` for native anchors.\n * Note: `className` and `style` are explicitly excluded.\n */\nexport type LinkProps<T extends React.ElementType = 'a'> = LinkOwnProps<T> &\n Omit<React.ComponentPropsWithoutRef<T>, keyof LinkOwnProps<T> | 'className' | 'style'>;\n\nfunction LinkInner<T extends React.ElementType = 'a'>(\n props: LinkProps<T> & { ref?: React.Ref<unknown> },\n ref: React.Ref<unknown>\n) {\n // Destructure and discard className/style to prevent them from being applied at runtime\n const {\n as,\n size,\n bold,\n children,\n className: _,\n style: __,\n ...otherProps\n } = props as LinkProps<T> & {\n className?: string;\n style?: React.CSSProperties;\n };\n\n const Component: React.ElementType = as || 'a';\n\n const className = cn(\n size ? [TYPOGRAPHY_TEXT_SIZE_CLASSES[size], TYPOGRAPHY_LINE_HEIGHT_CLASSES[size]] : undefined,\n /** set underline thickness depending on size of Link */\n size === 'sm' ? 'decoration-1' : 'decoration-2',\n 'underline cursor-pointer focus:outline-transparent focus-visible:yt-focus text-blue-700 hover:text-blue-900 active:text-blue-900 visited:text-blue-700 underline-offset-2 ',\n {\n 'font-bold': bold,\n }\n );\n\n return (\n <Component {...otherProps} className={className} data-taco=\"link\" ref={ref}>\n {children}\n </Component>\n );\n}\n\nexport const Link = React.forwardRef(LinkInner) as <T extends React.ElementType = 'a'>(\n props: LinkProps<T> & { ref?: React.Ref<unknown> }\n) => React.ReactElement | null;\n"],"names":[],"mappings":";;;AAgCA,SAAS,UACL,OACA,KACF;AAEQ,QAAA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EAAA,IACH;AAKJ,QAAM,YAA+B,MAAM;AAE3C,QAAM,YAAY;AAAA,IACd,OAAO,CAAC,6BAA6B,IAAI,GAAG,+BAA+B,IAAI,CAAC,IAAI;AAAA;AAAA,IAEpF,SAAS,OAAO,iBAAiB;AAAA,IACjC;AAAA,IACA;AAAA,MACI,aAAa;AAAA,IAAA;AAAA,EAErB;AAGI,SAAA,sBAAA,cAAC,aAAW,GAAG,YAAY,WAAsB,aAAU,QAAO,OAC7D,QACL;AAER;AAEa,MAAA,OAAO,MAAM,WAAW,SAAS;"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const cn = require("clsx");
5
+ const utils = require("../utils.cjs");
6
+ const Icon = require("../../Icon/Icon.cjs");
7
+ function _interopNamespaceDefault(e) {
8
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
+ if (e) {
10
+ for (const k in e) {
11
+ if (k !== "default") {
12
+ const d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: () => e[k]
16
+ });
17
+ }
18
+ }
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
24
+ function LinkButtonInner(props, ref) {
25
+ const {
26
+ as,
27
+ size = "md",
28
+ variant = "secondary",
29
+ children,
30
+ icon,
31
+ iconOnly,
32
+ className: _,
33
+ style: __,
34
+ ...otherProps
35
+ } = props;
36
+ const Component = as || "a";
37
+ const btnClassName = cn(
38
+ utils.SHARED_BUTTON_CLASSNAMES,
39
+ utils.getAppearanceClasses(variant),
40
+ !iconOnly && utils.setPaddingClasses(size),
41
+ utils.sizeClasses[size],
42
+ "no-underline",
43
+ { "aspect-square p-0": iconOnly }
44
+ );
45
+ return /* @__PURE__ */ React__namespace.createElement(Component, { ...otherProps, className: btnClassName, "data-taco": "linkbutton", ref }, /* @__PURE__ */ React__namespace.createElement("span", { "data-taco": "linkbutton-text", className: cn({ "sr-only": iconOnly && icon }, "text-nowrap") }, children), icon ? /* @__PURE__ */ React__namespace.createElement("span", { "data-taco": "linkbutton-icon", className: "leading-none" }, /* @__PURE__ */ React__namespace.createElement(Icon.Icon, { name: icon, className: cn(utils.setIconSizeClass[size]) })) : null);
46
+ }
47
+ const LinkButton = React__namespace.forwardRef(LinkButtonInner);
48
+ exports.LinkButton = LinkButton;
49
+ //# sourceMappingURL=LinkButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkButton.cjs","sources":["../../../../src/components/Actions/LinkButton/LinkButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\n\nimport {\n ButtonSize,\n ButtonVariant,\n SHARED_BUTTON_CLASSNAMES,\n sizeClasses,\n getAppearanceClasses,\n setPaddingClasses,\n setIconSizeClass,\n} from './../utils';\nimport { Icon, IconName } from '../../Icon/Icon';\n\n/**\n * LinkButton Text: string text (literals, template literals, i18n helpers that return `string`, string constants),\n * or a single React element—typically a component whose output is text-only.\n */\nexport type LinkButtonChildren = string | React.ReactElement;\n\ntype IconProps =\n | {\n /**\n * Which icon to display\n * This dynamic type causes the type extraction for props to fail\n * */\n icon: IconName;\n /* Determines if icon is placed before or after text label */\n iconOnly?: boolean;\n }\n | {\n icon?: never;\n iconOnly?: never;\n };\n\n/** Props specific to our Link component */\ntype LinkButtonBaseProps<T extends React.ElementType = 'a'> = {\n /** Allows using a custom or framework-specific link component (e.g. Next.js or React Router) */\n as?: T;\n /** Set size to either sm, md or lg — will fallback to md */\n size?: ButtonSize;\n /** Variant determines primary, secondary or tertiary use. Secondary will be default */\n variant?: ButtonVariant;\n /** The content of the Link */\n children: LinkButtonChildren;\n};\n\n/**\n * LinkProps combines the base props with the props of the underlying element (via `as`).\n * This allows the component to accept props like `to` for React Router or `href` for native anchors.\n * Note: `className` and `style` are explicitly excluded.\n */\nexport type LinkButtonProps<T extends React.ElementType = 'a'> = LinkButtonBaseProps<T> &\n IconProps &\n Omit<React.ComponentPropsWithoutRef<T>, keyof LinkButtonBaseProps<T> | 'className' | 'style'>;\n\nfunction LinkButtonInner<T extends React.ElementType = 'a'>(\n props: LinkButtonProps<T> & { ref?: React.Ref<unknown> },\n ref: React.Ref<unknown>\n) {\n // Destructure and discard className/style to prevent them from being applied at runtime\n const {\n as,\n size = 'md',\n variant = 'secondary',\n children,\n icon,\n iconOnly,\n className: _,\n style: __,\n ...otherProps\n } = props as LinkButtonProps<T> & {\n className?: string;\n style?: React.CSSProperties;\n };\n\n const Component: React.ElementType = as || 'a';\n\n /**\n * Todo:\n * - Find a clever way to pass 'regular' and 'end'\n */\n const btnClassName = cn(\n SHARED_BUTTON_CLASSNAMES,\n getAppearanceClasses(variant, 'regular'),\n !iconOnly && setPaddingClasses(size, 'end'),\n sizeClasses[size],\n 'no-underline',\n { 'aspect-square p-0': iconOnly }\n );\n\n return (\n <Component {...otherProps} className={btnClassName} data-taco=\"linkbutton\" ref={ref}>\n <span data-taco=\"linkbutton-text\" className={cn({ 'sr-only': iconOnly && icon }, 'text-nowrap')}>\n {children}\n </span>\n {icon ? (\n <span data-taco=\"linkbutton-icon\" className=\"leading-none\">\n <Icon name={icon} className={cn(setIconSizeClass[size])} />\n </span>\n ) : null}\n </Component>\n );\n}\n\nexport const LinkButton = React.forwardRef(LinkButtonInner as React.ForwardRefRenderFunction<unknown, LinkButtonProps>) as <\n T extends React.ElementType = 'a'\n>(\n props: LinkButtonProps<T> & { ref?: React.Ref<unknown> }\n) => React.ReactElement | null;\n"],"names":["SHARED_BUTTON_CLASSNAMES","getAppearanceClasses","setPaddingClasses","sizeClasses","React","Icon","setIconSizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwDA,SAAS,gBACL,OACA,KACF;AAEQ,QAAA;AAAA,IACF;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EAAA,IACH;AAKJ,QAAM,YAA+B,MAAM;AAM3C,QAAM,eAAe;AAAA,IACjBA,MAAA;AAAA,IACAC,MAAAA,qBAAqB,OAAkB;AAAA,IACvC,CAAC,YAAYC,MAAkB,kBAAA,IAAW;AAAA,IAC1CC,MAAAA,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,EAAE,qBAAqB,SAAS;AAAA,EACpC;AAEA,wDACK,WAAW,EAAA,GAAG,YAAY,WAAW,cAAc,aAAU,cAAa,IAAA,kDACtE,QAAK,EAAA,aAAU,mBAAkB,WAAW,GAAG,EAAE,WAAW,YAAY,KAAQ,GAAA,aAAa,KACzF,QACL,GACC,OACIC,iCAAA,cAAA,QAAA,EAAK,aAAU,mBAAkB,WAAU,kBACvCA,iCAAA,cAAAC,KAAAA,MAAA,EAAK,MAAM,MAAM,WAAW,GAAGC,MAAiB,iBAAA,IAAI,CAAC,GAAG,CAC7D,IACA,IACR;AAER;AAEa,MAAA,aAAaF,iBAAM,WAAW,eAA2E;;"}
@@ -0,0 +1,40 @@
1
+ import { ButtonSize, ButtonVariant } from './../utils';
2
+ import { IconName } from '../../Icon/Icon';
3
+ import * as React from 'react';
4
+ /**
5
+ * LinkButton Text: string text (literals, template literals, i18n helpers that return `string`, string constants),
6
+ * or a single React element—typically a component whose output is text-only.
7
+ */
8
+ export type LinkButtonChildren = string | React.ReactElement;
9
+ type IconProps = {
10
+ /**
11
+ * Which icon to display
12
+ * This dynamic type causes the type extraction for props to fail
13
+ * */
14
+ icon: IconName;
15
+ iconOnly?: boolean;
16
+ } | {
17
+ icon?: never;
18
+ iconOnly?: never;
19
+ };
20
+ /** Props specific to our Link component */
21
+ type LinkButtonBaseProps<T extends React.ElementType = 'a'> = {
22
+ /** Allows using a custom or framework-specific link component (e.g. Next.js or React Router) */
23
+ as?: T;
24
+ /** Set size to either sm, md or lg — will fallback to md */
25
+ size?: ButtonSize;
26
+ /** Variant determines primary, secondary or tertiary use. Secondary will be default */
27
+ variant?: ButtonVariant;
28
+ /** The content of the Link */
29
+ children: LinkButtonChildren;
30
+ };
31
+ /**
32
+ * LinkProps combines the base props with the props of the underlying element (via `as`).
33
+ * This allows the component to accept props like `to` for React Router or `href` for native anchors.
34
+ * Note: `className` and `style` are explicitly excluded.
35
+ */
36
+ export type LinkButtonProps<T extends React.ElementType = 'a'> = LinkButtonBaseProps<T> & IconProps & Omit<React.ComponentPropsWithoutRef<T>, keyof LinkButtonBaseProps<T> | 'className' | 'style'>;
37
+ export declare const LinkButton: <T extends React.ElementType = "a">(props: LinkButtonProps<T> & {
38
+ ref?: React.Ref<unknown>;
39
+ }) => React.ReactElement | null;
40
+ export {};
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ import cn from "clsx";
3
+ import { SHARED_BUTTON_CLASSNAMES, getAppearanceClasses, setPaddingClasses, sizeClasses, setIconSizeClass } from "../utils.js";
4
+ import { Icon } from "../../Icon/Icon.js";
5
+ function LinkButtonInner(props, ref) {
6
+ const {
7
+ as,
8
+ size = "md",
9
+ variant = "secondary",
10
+ children,
11
+ icon,
12
+ iconOnly,
13
+ className: _,
14
+ style: __,
15
+ ...otherProps
16
+ } = props;
17
+ const Component = as || "a";
18
+ const btnClassName = cn(
19
+ SHARED_BUTTON_CLASSNAMES,
20
+ getAppearanceClasses(variant),
21
+ !iconOnly && setPaddingClasses(size),
22
+ sizeClasses[size],
23
+ "no-underline",
24
+ { "aspect-square p-0": iconOnly }
25
+ );
26
+ return /* @__PURE__ */ React.createElement(Component, { ...otherProps, className: btnClassName, "data-taco": "linkbutton", ref }, /* @__PURE__ */ React.createElement("span", { "data-taco": "linkbutton-text", className: cn({ "sr-only": iconOnly && icon }, "text-nowrap") }, children), icon ? /* @__PURE__ */ React.createElement("span", { "data-taco": "linkbutton-icon", className: "leading-none" }, /* @__PURE__ */ React.createElement(Icon, { name: icon, className: cn(setIconSizeClass[size]) })) : null);
27
+ }
28
+ const LinkButton = React.forwardRef(LinkButtonInner);
29
+ export {
30
+ LinkButton
31
+ };
32
+ //# sourceMappingURL=LinkButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkButton.js","sources":["../../../../src/components/Actions/LinkButton/LinkButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\n\nimport {\n ButtonSize,\n ButtonVariant,\n SHARED_BUTTON_CLASSNAMES,\n sizeClasses,\n getAppearanceClasses,\n setPaddingClasses,\n setIconSizeClass,\n} from './../utils';\nimport { Icon, IconName } from '../../Icon/Icon';\n\n/**\n * LinkButton Text: string text (literals, template literals, i18n helpers that return `string`, string constants),\n * or a single React element—typically a component whose output is text-only.\n */\nexport type LinkButtonChildren = string | React.ReactElement;\n\ntype IconProps =\n | {\n /**\n * Which icon to display\n * This dynamic type causes the type extraction for props to fail\n * */\n icon: IconName;\n /* Determines if icon is placed before or after text label */\n iconOnly?: boolean;\n }\n | {\n icon?: never;\n iconOnly?: never;\n };\n\n/** Props specific to our Link component */\ntype LinkButtonBaseProps<T extends React.ElementType = 'a'> = {\n /** Allows using a custom or framework-specific link component (e.g. Next.js or React Router) */\n as?: T;\n /** Set size to either sm, md or lg — will fallback to md */\n size?: ButtonSize;\n /** Variant determines primary, secondary or tertiary use. Secondary will be default */\n variant?: ButtonVariant;\n /** The content of the Link */\n children: LinkButtonChildren;\n};\n\n/**\n * LinkProps combines the base props with the props of the underlying element (via `as`).\n * This allows the component to accept props like `to` for React Router or `href` for native anchors.\n * Note: `className` and `style` are explicitly excluded.\n */\nexport type LinkButtonProps<T extends React.ElementType = 'a'> = LinkButtonBaseProps<T> &\n IconProps &\n Omit<React.ComponentPropsWithoutRef<T>, keyof LinkButtonBaseProps<T> | 'className' | 'style'>;\n\nfunction LinkButtonInner<T extends React.ElementType = 'a'>(\n props: LinkButtonProps<T> & { ref?: React.Ref<unknown> },\n ref: React.Ref<unknown>\n) {\n // Destructure and discard className/style to prevent them from being applied at runtime\n const {\n as,\n size = 'md',\n variant = 'secondary',\n children,\n icon,\n iconOnly,\n className: _,\n style: __,\n ...otherProps\n } = props as LinkButtonProps<T> & {\n className?: string;\n style?: React.CSSProperties;\n };\n\n const Component: React.ElementType = as || 'a';\n\n /**\n * Todo:\n * - Find a clever way to pass 'regular' and 'end'\n */\n const btnClassName = cn(\n SHARED_BUTTON_CLASSNAMES,\n getAppearanceClasses(variant, 'regular'),\n !iconOnly && setPaddingClasses(size, 'end'),\n sizeClasses[size],\n 'no-underline',\n { 'aspect-square p-0': iconOnly }\n );\n\n return (\n <Component {...otherProps} className={btnClassName} data-taco=\"linkbutton\" ref={ref}>\n <span data-taco=\"linkbutton-text\" className={cn({ 'sr-only': iconOnly && icon }, 'text-nowrap')}>\n {children}\n </span>\n {icon ? (\n <span data-taco=\"linkbutton-icon\" className=\"leading-none\">\n <Icon name={icon} className={cn(setIconSizeClass[size])} />\n </span>\n ) : null}\n </Component>\n );\n}\n\nexport const LinkButton = React.forwardRef(LinkButtonInner as React.ForwardRefRenderFunction<unknown, LinkButtonProps>) as <\n T extends React.ElementType = 'a'\n>(\n props: LinkButtonProps<T> & { ref?: React.Ref<unknown> }\n) => React.ReactElement | null;\n"],"names":[],"mappings":";;;;AAwDA,SAAS,gBACL,OACA,KACF;AAEQ,QAAA;AAAA,IACF;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EAAA,IACH;AAKJ,QAAM,YAA+B,MAAM;AAM3C,QAAM,eAAe;AAAA,IACjB;AAAA,IACA,qBAAqB,OAAkB;AAAA,IACvC,CAAC,YAAY,kBAAkB,IAAW;AAAA,IAC1C,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,EAAE,qBAAqB,SAAS;AAAA,EACpC;AAEA,6CACK,WAAW,EAAA,GAAG,YAAY,WAAW,cAAc,aAAU,cAAa,IAAA,uCACtE,QAAK,EAAA,aAAU,mBAAkB,WAAW,GAAG,EAAE,WAAW,YAAY,KAAQ,GAAA,aAAa,KACzF,QACL,GACC,OACI,sBAAA,cAAA,QAAA,EAAK,aAAU,mBAAkB,WAAU,kBACvC,sBAAA,cAAA,MAAA,EAAK,MAAM,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,GAAG,CAC7D,IACA,IACR;AAER;AAEa,MAAA,aAAa,MAAM,WAAW,eAA2E;"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const SHARED_BUTTON_CLASSNAMES = "relative inline-flex gap-1 whitespace-nowrap flex-shrink-0 items-center justify-center rounded focus-visible:yt-focus";
4
+ const getAppearanceClasses = (variant, purpose) => {
5
+ if (variant === "primary") {
6
+ return "bg-blue-500 text-white hover:bg-blue-700 hover:text-white aria-disabled:hover:bg-blue-500 aria-disabled:hover:text-white focus-visible:bg-blue-700 focus-visible:text-white visited:text-white border-0 disabled:bg-blue-200 disabled:cursor-not-allowed ";
7
+ }
8
+ if (variant === "secondary") {
9
+ return "bg-gray-100 text-black hover:bg-gray-200 aria-disabled:hover:bg-gray-100 aria-disabled:hover:text-black focus-visible:bg-gray-200 hover:text-black focus-visible:text-black visited:text-black border-0 disabled:bg-gray-50 disabled:text-gray-300 disabled:cursor-not-allowed";
10
+ }
11
+ if (variant === "tertiary") {
12
+ return "bg-white border border-gray-100 text-black hover:bg-gray-100 hover:text-black hover:border-gray-300 aria-disabled:hover:bg-white aria-disabled:hover:text-black aria-disabled:hover:border-gray-100 focus-visible:text-black focus-visible:border-gray-300 focus-visible:bg-gray-100 disabled:bg-white disabled:text-gray-300 disabled:border-gray-300 disabled:cursor-not-allowed";
13
+ }
14
+ return "bg-white border border-red-100 text-red-700 hover:bg-red-100 hover:border-red-200 aria-disabled:hover:bg-white aria-disabled:hover:border-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-100 focus-visible:border-red-200 disabled:bg-white disabled:border-red-100 disabled:text-gray-300 disabled:cursor-not-allowed";
15
+ };
16
+ const sizeClasses = {
17
+ sm: "h-7 text-xs",
18
+ md: "h-8 text-sm",
19
+ lg: "h-10 text-base"
20
+ };
21
+ const setPaddingClasses = (size, iconPlacement) => {
22
+ if (size === "sm") {
23
+ return "ps-2 pe-1";
24
+ }
25
+ if (size === "md" || size === "lg") {
26
+ return "ps-3 pe-2";
27
+ }
28
+ if (size === "sm") {
29
+ return "px-2";
30
+ }
31
+ return "px-3";
32
+ };
33
+ const setIconSizeClass = {
34
+ // important is required to override the hardcoded size of the icon
35
+ sm: "!size-[18px]",
36
+ md: "!size-5",
37
+ lg: "!size-6"
38
+ };
39
+ exports.SHARED_BUTTON_CLASSNAMES = SHARED_BUTTON_CLASSNAMES;
40
+ exports.getAppearanceClasses = getAppearanceClasses;
41
+ exports.setIconSizeClass = setIconSizeClass;
42
+ exports.setPaddingClasses = setPaddingClasses;
43
+ exports.sizeClasses = sizeClasses;
44
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","sources":["../../../src/components/Actions/utils.tsx"],"sourcesContent":["export type ButtonSize = 'sm' | 'md' | 'lg';\nexport type ButtonPurpose = 'regular' | 'destructive';\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary';\nexport type ButtonIconPlacement = 'start' | 'end';\nexport type ButtonIconOnly = boolean;\n// TODO: do this in a better way — not used for now\nexport type LinkButtonPurpose = 'regular';\n\nexport const SHARED_BUTTON_CLASSNAMES =\n 'relative inline-flex gap-1 whitespace-nowrap flex-shrink-0 items-center justify-center rounded focus-visible:yt-focus';\n\nexport const getAppearanceClasses = (variant: ButtonVariant, purpose: ButtonPurpose) => {\n if (purpose === 'regular' && variant === 'primary') {\n return 'bg-blue-500 text-white hover:bg-blue-700 hover:text-white aria-disabled:hover:bg-blue-500 aria-disabled:hover:text-white focus-visible:bg-blue-700 focus-visible:text-white visited:text-white border-0 disabled:bg-blue-200 disabled:cursor-not-allowed ';\n }\n if (purpose === 'regular' && variant === 'secondary') {\n // if variant is secondary\n return 'bg-gray-100 text-black hover:bg-gray-200 aria-disabled:hover:bg-gray-100 aria-disabled:hover:text-black focus-visible:bg-gray-200 hover:text-black focus-visible:text-black visited:text-black border-0 disabled:bg-gray-50 disabled:text-gray-300 disabled:cursor-not-allowed';\n }\n if (purpose === 'regular' && variant === 'tertiary') {\n return 'bg-white border border-gray-100 text-black hover:bg-gray-100 hover:text-black hover:border-gray-300 aria-disabled:hover:bg-white aria-disabled:hover:text-black aria-disabled:hover:border-gray-100 focus-visible:text-black focus-visible:border-gray-300 focus-visible:bg-gray-100 disabled:bg-white disabled:text-gray-300 disabled:border-gray-300 disabled:cursor-not-allowed';\n }\n // if purpose is destructive and variant is primary\n if (purpose === 'destructive' && variant === 'primary') {\n return 'bg-red-500 text-white hover:bg-red-700 aria-disabled:hover:bg-red-500 aria-disabled:hover:text-white focus-visible:bg-red-700 hover:text-white focus-visible:text-white border-0 disabled:bg-red-200 disabled:text-white disabled:cursor-not-allowed';\n }\n // if purpose is destructive and variant is secondary\n if (purpose === 'destructive' && variant === 'secondary') {\n return 'bg-red-100 text-red-700 hover:bg-red-200 aria-disabled:hover:bg-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-200 hover:text-red-700 focus-visible:text-red-700 border-0 disabled:bg-red-50 disabled:text-gray-300 disabled:cursor-not-allowed';\n }\n // if purpose is destructive and variant is tertiary\n return 'bg-white border border-red-100 text-red-700 hover:bg-red-100 hover:border-red-200 aria-disabled:hover:bg-white aria-disabled:hover:border-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-100 focus-visible:border-red-200 disabled:bg-white disabled:border-red-100 disabled:text-gray-300 disabled:cursor-not-allowed';\n};\n\nexport const sizeClasses = {\n sm: 'h-7 text-xs',\n md: 'h-8 text-sm',\n lg: 'h-10 text-base',\n};\n\nexport const setPaddingClasses = (size: ButtonSize, iconPlacement: ButtonIconPlacement | undefined) => {\n // Icon is before the text and it's a small button\n if (iconPlacement === 'start' && size === 'sm') {\n return 'ps-1 pe-2';\n }\n // Icon is before the text and it's a medium or large button\n if (iconPlacement === 'start' && (size === 'md' || size === 'lg')) {\n return 'ps-2 pe-3';\n }\n // Icon is after the text and it's a small button\n if (iconPlacement === 'end' && size === 'sm') {\n return 'ps-2 pe-1';\n }\n // Icon is after the text and it's a medium or large button\n if (iconPlacement === 'end' && (size === 'md' || size === 'lg')) {\n return 'ps-3 pe-2';\n }\n // No icon and small button\n if (size === 'sm') {\n return 'px-2';\n }\n return 'px-3';\n};\n\nexport const setIconSizeClass = {\n // important is required to override the hardcoded size of the icon\n sm: '!size-[18px]',\n md: '!size-5',\n lg: '!size-6',\n};\n"],"names":[],"mappings":";;AAQO,MAAM,2BACT;AAES,MAAA,uBAAuB,CAAC,SAAwB,YAA2B;AAChF,MAAyB,YAAY,WAAW;AACzC,WAAA;AAAA,EAAA;AAEP,MAAyB,YAAY,aAAa;AAE3C,WAAA;AAAA,EAAA;AAEP,MAAyB,YAAY,YAAY;AAC1C,WAAA;AAAA,EAAA;AAWJ,SAAA;AACX;AAEO,MAAM,cAAc;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR;AAEa,MAAA,oBAAoB,CAAC,MAAkB,kBAAmD;AAU/F,MAA2B,SAAS,MAAM;AACnC,WAAA;AAAA,EAAA;AAGX,MAAgC,SAAS,QAAQ,SAAS,MAAO;AACtD,WAAA;AAAA,EAAA;AAGX,MAAI,SAAS,MAAM;AACR,WAAA;AAAA,EAAA;AAEJ,SAAA;AACX;AAEO,MAAM,mBAAmB;AAAA;AAAA,EAE5B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR;;;;;;"}
@@ -0,0 +1,19 @@
1
+ export type ButtonSize = 'sm' | 'md' | 'lg';
2
+ export type ButtonPurpose = 'regular' | 'destructive';
3
+ export type ButtonVariant = 'primary' | 'secondary' | 'tertiary';
4
+ export type ButtonIconPlacement = 'start' | 'end';
5
+ export type ButtonIconOnly = boolean;
6
+ export type LinkButtonPurpose = 'regular';
7
+ export declare const SHARED_BUTTON_CLASSNAMES = "relative inline-flex gap-1 whitespace-nowrap flex-shrink-0 items-center justify-center rounded focus-visible:yt-focus";
8
+ export declare const getAppearanceClasses: (variant: ButtonVariant, purpose: ButtonPurpose) => "bg-blue-500 text-white hover:bg-blue-700 hover:text-white aria-disabled:hover:bg-blue-500 aria-disabled:hover:text-white focus-visible:bg-blue-700 focus-visible:text-white visited:text-white border-0 disabled:bg-blue-200 disabled:cursor-not-allowed " | "bg-gray-100 text-black hover:bg-gray-200 aria-disabled:hover:bg-gray-100 aria-disabled:hover:text-black focus-visible:bg-gray-200 hover:text-black focus-visible:text-black visited:text-black border-0 disabled:bg-gray-50 disabled:text-gray-300 disabled:cursor-not-allowed" | "bg-white border border-gray-100 text-black hover:bg-gray-100 hover:text-black hover:border-gray-300 aria-disabled:hover:bg-white aria-disabled:hover:text-black aria-disabled:hover:border-gray-100 focus-visible:text-black focus-visible:border-gray-300 focus-visible:bg-gray-100 disabled:bg-white disabled:text-gray-300 disabled:border-gray-300 disabled:cursor-not-allowed" | "bg-red-500 text-white hover:bg-red-700 aria-disabled:hover:bg-red-500 aria-disabled:hover:text-white focus-visible:bg-red-700 hover:text-white focus-visible:text-white border-0 disabled:bg-red-200 disabled:text-white disabled:cursor-not-allowed" | "bg-red-100 text-red-700 hover:bg-red-200 aria-disabled:hover:bg-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-200 hover:text-red-700 focus-visible:text-red-700 border-0 disabled:bg-red-50 disabled:text-gray-300 disabled:cursor-not-allowed" | "bg-white border border-red-100 text-red-700 hover:bg-red-100 hover:border-red-200 aria-disabled:hover:bg-white aria-disabled:hover:border-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-100 focus-visible:border-red-200 disabled:bg-white disabled:border-red-100 disabled:text-gray-300 disabled:cursor-not-allowed";
9
+ export declare const sizeClasses: {
10
+ sm: string;
11
+ md: string;
12
+ lg: string;
13
+ };
14
+ export declare const setPaddingClasses: (size: ButtonSize, iconPlacement: ButtonIconPlacement | undefined) => "ps-1 pe-2" | "ps-2 pe-3" | "ps-2 pe-1" | "ps-3 pe-2" | "px-2" | "px-3";
15
+ export declare const setIconSizeClass: {
16
+ sm: string;
17
+ md: string;
18
+ lg: string;
19
+ };
@@ -0,0 +1,44 @@
1
+ const SHARED_BUTTON_CLASSNAMES = "relative inline-flex gap-1 whitespace-nowrap flex-shrink-0 items-center justify-center rounded focus-visible:yt-focus";
2
+ const getAppearanceClasses = (variant, purpose) => {
3
+ if (variant === "primary") {
4
+ return "bg-blue-500 text-white hover:bg-blue-700 hover:text-white aria-disabled:hover:bg-blue-500 aria-disabled:hover:text-white focus-visible:bg-blue-700 focus-visible:text-white visited:text-white border-0 disabled:bg-blue-200 disabled:cursor-not-allowed ";
5
+ }
6
+ if (variant === "secondary") {
7
+ return "bg-gray-100 text-black hover:bg-gray-200 aria-disabled:hover:bg-gray-100 aria-disabled:hover:text-black focus-visible:bg-gray-200 hover:text-black focus-visible:text-black visited:text-black border-0 disabled:bg-gray-50 disabled:text-gray-300 disabled:cursor-not-allowed";
8
+ }
9
+ if (variant === "tertiary") {
10
+ return "bg-white border border-gray-100 text-black hover:bg-gray-100 hover:text-black hover:border-gray-300 aria-disabled:hover:bg-white aria-disabled:hover:text-black aria-disabled:hover:border-gray-100 focus-visible:text-black focus-visible:border-gray-300 focus-visible:bg-gray-100 disabled:bg-white disabled:text-gray-300 disabled:border-gray-300 disabled:cursor-not-allowed";
11
+ }
12
+ return "bg-white border border-red-100 text-red-700 hover:bg-red-100 hover:border-red-200 aria-disabled:hover:bg-white aria-disabled:hover:border-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-100 focus-visible:border-red-200 disabled:bg-white disabled:border-red-100 disabled:text-gray-300 disabled:cursor-not-allowed";
13
+ };
14
+ const sizeClasses = {
15
+ sm: "h-7 text-xs",
16
+ md: "h-8 text-sm",
17
+ lg: "h-10 text-base"
18
+ };
19
+ const setPaddingClasses = (size, iconPlacement) => {
20
+ if (size === "sm") {
21
+ return "ps-2 pe-1";
22
+ }
23
+ if (size === "md" || size === "lg") {
24
+ return "ps-3 pe-2";
25
+ }
26
+ if (size === "sm") {
27
+ return "px-2";
28
+ }
29
+ return "px-3";
30
+ };
31
+ const setIconSizeClass = {
32
+ // important is required to override the hardcoded size of the icon
33
+ sm: "!size-[18px]",
34
+ md: "!size-5",
35
+ lg: "!size-6"
36
+ };
37
+ export {
38
+ SHARED_BUTTON_CLASSNAMES,
39
+ getAppearanceClasses,
40
+ setIconSizeClass,
41
+ setPaddingClasses,
42
+ sizeClasses
43
+ };
44
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/Actions/utils.tsx"],"sourcesContent":["export type ButtonSize = 'sm' | 'md' | 'lg';\nexport type ButtonPurpose = 'regular' | 'destructive';\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary';\nexport type ButtonIconPlacement = 'start' | 'end';\nexport type ButtonIconOnly = boolean;\n// TODO: do this in a better way — not used for now\nexport type LinkButtonPurpose = 'regular';\n\nexport const SHARED_BUTTON_CLASSNAMES =\n 'relative inline-flex gap-1 whitespace-nowrap flex-shrink-0 items-center justify-center rounded focus-visible:yt-focus';\n\nexport const getAppearanceClasses = (variant: ButtonVariant, purpose: ButtonPurpose) => {\n if (purpose === 'regular' && variant === 'primary') {\n return 'bg-blue-500 text-white hover:bg-blue-700 hover:text-white aria-disabled:hover:bg-blue-500 aria-disabled:hover:text-white focus-visible:bg-blue-700 focus-visible:text-white visited:text-white border-0 disabled:bg-blue-200 disabled:cursor-not-allowed ';\n }\n if (purpose === 'regular' && variant === 'secondary') {\n // if variant is secondary\n return 'bg-gray-100 text-black hover:bg-gray-200 aria-disabled:hover:bg-gray-100 aria-disabled:hover:text-black focus-visible:bg-gray-200 hover:text-black focus-visible:text-black visited:text-black border-0 disabled:bg-gray-50 disabled:text-gray-300 disabled:cursor-not-allowed';\n }\n if (purpose === 'regular' && variant === 'tertiary') {\n return 'bg-white border border-gray-100 text-black hover:bg-gray-100 hover:text-black hover:border-gray-300 aria-disabled:hover:bg-white aria-disabled:hover:text-black aria-disabled:hover:border-gray-100 focus-visible:text-black focus-visible:border-gray-300 focus-visible:bg-gray-100 disabled:bg-white disabled:text-gray-300 disabled:border-gray-300 disabled:cursor-not-allowed';\n }\n // if purpose is destructive and variant is primary\n if (purpose === 'destructive' && variant === 'primary') {\n return 'bg-red-500 text-white hover:bg-red-700 aria-disabled:hover:bg-red-500 aria-disabled:hover:text-white focus-visible:bg-red-700 hover:text-white focus-visible:text-white border-0 disabled:bg-red-200 disabled:text-white disabled:cursor-not-allowed';\n }\n // if purpose is destructive and variant is secondary\n if (purpose === 'destructive' && variant === 'secondary') {\n return 'bg-red-100 text-red-700 hover:bg-red-200 aria-disabled:hover:bg-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-200 hover:text-red-700 focus-visible:text-red-700 border-0 disabled:bg-red-50 disabled:text-gray-300 disabled:cursor-not-allowed';\n }\n // if purpose is destructive and variant is tertiary\n return 'bg-white border border-red-100 text-red-700 hover:bg-red-100 hover:border-red-200 aria-disabled:hover:bg-white aria-disabled:hover:border-red-100 aria-disabled:hover:text-red-700 focus-visible:bg-red-100 focus-visible:border-red-200 disabled:bg-white disabled:border-red-100 disabled:text-gray-300 disabled:cursor-not-allowed';\n};\n\nexport const sizeClasses = {\n sm: 'h-7 text-xs',\n md: 'h-8 text-sm',\n lg: 'h-10 text-base',\n};\n\nexport const setPaddingClasses = (size: ButtonSize, iconPlacement: ButtonIconPlacement | undefined) => {\n // Icon is before the text and it's a small button\n if (iconPlacement === 'start' && size === 'sm') {\n return 'ps-1 pe-2';\n }\n // Icon is before the text and it's a medium or large button\n if (iconPlacement === 'start' && (size === 'md' || size === 'lg')) {\n return 'ps-2 pe-3';\n }\n // Icon is after the text and it's a small button\n if (iconPlacement === 'end' && size === 'sm') {\n return 'ps-2 pe-1';\n }\n // Icon is after the text and it's a medium or large button\n if (iconPlacement === 'end' && (size === 'md' || size === 'lg')) {\n return 'ps-3 pe-2';\n }\n // No icon and small button\n if (size === 'sm') {\n return 'px-2';\n }\n return 'px-3';\n};\n\nexport const setIconSizeClass = {\n // important is required to override the hardcoded size of the icon\n sm: '!size-[18px]',\n md: '!size-5',\n lg: '!size-6',\n};\n"],"names":[],"mappings":"AAQO,MAAM,2BACT;AAES,MAAA,uBAAuB,CAAC,SAAwB,YAA2B;AAChF,MAAyB,YAAY,WAAW;AACzC,WAAA;AAAA,EAAA;AAEP,MAAyB,YAAY,aAAa;AAE3C,WAAA;AAAA,EAAA;AAEP,MAAyB,YAAY,YAAY;AAC1C,WAAA;AAAA,EAAA;AAWJ,SAAA;AACX;AAEO,MAAM,cAAc;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR;AAEa,MAAA,oBAAoB,CAAC,MAAkB,kBAAmD;AAU/F,MAA2B,SAAS,MAAM;AACnC,WAAA;AAAA,EAAA;AAGX,MAAgC,SAAS,QAAQ,SAAS,MAAO;AACtD,WAAA;AAAA,EAAA;AAGX,MAAI,SAAS,MAAM;AACR,WAAA;AAAA,EAAA;AAEJ,SAAA;AACX;AAEO,MAAM,mBAAmB;AAAA;AAAA,EAE5B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR;"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const cn = require("clsx");
5
5
  const util = require("./util.cjs");
6
- const IconButton = require("../IconButton/IconButton.cjs");
6
+ const IconButton = require("../LegacyComponents/IconButton/IconButton.cjs");
7
7
  const Localization = require("../Provider/Localization.cjs");
8
8
  function _interopNamespaceDefault(e) {
9
9
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -27,7 +27,7 @@ const Banner = React__namespace.forwardRef(function Banner2(props, ref) {
27
27
  const { texts } = Localization.useLocalization();
28
28
  const className = cn("bg-white relative flex items-center gap-2 py-2 px-4 leading-6 shadow-md z-10", props.className);
29
29
  return /* @__PURE__ */ React__namespace.createElement("div", { className, "data-taco": "banner", ref }, util.getBannerIcon(state), children, onClose ? /* @__PURE__ */ React__namespace.createElement(
30
- IconButton.IconButton,
30
+ IconButton.LegacyIconButton,
31
31
  {
32
32
  "aria-label": texts.banner.close,
33
33
  className: "-mr-2 ml-auto self-start",
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.cjs","sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\nimport { State } from '../../types';\nimport { getBannerIcon } from './util';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type BannerProps = React.HTMLAttributes<HTMLDivElement> & {\n /** Content can be any react element, for e.g. a `div` */\n children: React.ReactNode;\n /** State will change the icon displayed in banner */\n state: State;\n onClose?: () => void;\n};\n\nexport type BannerTexts = {\n /** Aria-label for the close icon button of banner */\n close: string;\n};\n\nexport const Banner = React.forwardRef(function Banner(props: BannerProps, ref: React.Ref<HTMLDivElement>) {\n const { children, state, onClose } = props;\n const { texts } = useLocalization();\n const className = cn('bg-white relative flex items-center gap-2 py-2 px-4 leading-6 shadow-md z-10', props.className);\n\n return (\n <div className={className} data-taco=\"banner\" ref={ref}>\n {getBannerIcon(state)}\n {children}\n {onClose ? (\n <IconButton\n aria-label={texts.banner.close}\n className=\"-mr-2 ml-auto self-start\"\n icon=\"close\"\n appearance=\"discrete\"\n onClick={onClose}\n />\n ) : null}\n </div>\n );\n});\n"],"names":["React","Banner","useLocalization","getBannerIcon","IconButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBO,MAAM,SAASA,iBAAM,WAAW,SAASC,QAAO,OAAoB,KAAgC;AACvG,QAAM,EAAE,UAAU,OAAO,QAAY,IAAA;AAC/B,QAAA,EAAE,MAAM,IAAIC,6BAAgB;AAClC,QAAM,YAAY,GAAG,gFAAgF,MAAM,SAAS;AAGhH,SAAAF,iCAAA,cAAC,OAAI,EAAA,WAAsB,aAAU,UAAS,OACzCG,KAAAA,cAAc,KAAK,GACnB,UACA,UACGH,iCAAA;AAAA,IAACI,WAAA;AAAA,IAAA;AAAA,MACG,cAAY,MAAM,OAAO;AAAA,MACzB,WAAU;AAAA,MACV,MAAK;AAAA,MACL,YAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,MAEb,IACR;AAER,CAAC;;"}
1
+ {"version":3,"file":"Banner.cjs","sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\nimport { State } from '../../types';\nimport { getBannerIcon } from './util';\nimport { LegacyIconButton } from '../LegacyComponents/IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type BannerProps = React.HTMLAttributes<HTMLDivElement> & {\n /** Content can be any react element, for e.g. a `div` */\n children: React.ReactNode;\n /** State will change the icon displayed in banner */\n state: State;\n onClose?: () => void;\n};\n\nexport type BannerTexts = {\n /** Aria-label for the close icon button of banner */\n close: string;\n};\n\nexport const Banner = React.forwardRef(function Banner(props: BannerProps, ref: React.Ref<HTMLDivElement>) {\n const { children, state, onClose } = props;\n const { texts } = useLocalization();\n const className = cn('bg-white relative flex items-center gap-2 py-2 px-4 leading-6 shadow-md z-10', props.className);\n\n return (\n <div className={className} data-taco=\"banner\" ref={ref}>\n {getBannerIcon(state)}\n {children}\n {onClose ? (\n <LegacyIconButton\n aria-label={texts.banner.close}\n className=\"-mr-2 ml-auto self-start\"\n icon=\"close\"\n appearance=\"discrete\"\n onClick={onClose}\n />\n ) : null}\n </div>\n );\n});\n"],"names":["React","Banner","useLocalization","getBannerIcon","LegacyIconButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBO,MAAM,SAASA,iBAAM,WAAW,SAASC,QAAO,OAAoB,KAAgC;AACvG,QAAM,EAAE,UAAU,OAAO,QAAY,IAAA;AAC/B,QAAA,EAAE,MAAM,IAAIC,6BAAgB;AAClC,QAAM,YAAY,GAAG,gFAAgF,MAAM,SAAS;AAGhH,SAAAF,iCAAA,cAAC,OAAI,EAAA,WAAsB,aAAU,UAAS,OACzCG,KAAAA,cAAc,KAAK,GACnB,UACA,UACGH,iCAAA;AAAA,IAACI,WAAA;AAAA,IAAA;AAAA,MACG,cAAY,MAAM,OAAO;AAAA,MACzB,WAAU;AAAA,MACV,MAAK;AAAA,MACL,YAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,MAEb,IACR;AAER,CAAC;;"}
@@ -1,14 +1,14 @@
1
1
  import * as React from "react";
2
2
  import cn from "clsx";
3
3
  import { getBannerIcon } from "./util.js";
4
- import { IconButton } from "../IconButton/IconButton.js";
4
+ import { LegacyIconButton } from "../LegacyComponents/IconButton/IconButton.js";
5
5
  import { useLocalization } from "../Provider/Localization.js";
6
6
  const Banner = React.forwardRef(function Banner2(props, ref) {
7
7
  const { children, state, onClose } = props;
8
8
  const { texts } = useLocalization();
9
9
  const className = cn("bg-white relative flex items-center gap-2 py-2 px-4 leading-6 shadow-md z-10", props.className);
10
10
  return /* @__PURE__ */ React.createElement("div", { className, "data-taco": "banner", ref }, getBannerIcon(state), children, onClose ? /* @__PURE__ */ React.createElement(
11
- IconButton,
11
+ LegacyIconButton,
12
12
  {
13
13
  "aria-label": texts.banner.close,
14
14
  className: "-mr-2 ml-auto self-start",