@raystack/apsara 0.32.0 → 0.33.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 (226) hide show
  1. package/dist/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs +92 -0
  2. package/dist/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs.map +1 -1
  3. package/dist/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +89 -1
  4. package/dist/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
  5. package/dist/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.cjs +1 -0
  6. package/dist/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.cjs.map +1 -1
  7. package/dist/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.js +1 -1
  8. package/dist/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.cjs +20 -0
  9. package/dist/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.cjs.map +1 -1
  10. package/dist/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.js +20 -1
  11. package/dist/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.js.map +1 -1
  12. package/dist/sidebar/sidebar.cjs +6 -6
  13. package/dist/sidebar/sidebar.cjs.map +1 -1
  14. package/dist/sidebar/sidebar.d.ts +4 -4
  15. package/dist/sidebar/sidebar.js +6 -6
  16. package/dist/sidebar/sidebar.js.map +1 -1
  17. package/dist/style.css +1 -1
  18. package/dist/v1/_virtual/isSameOrAfter.cjs +6 -0
  19. package/dist/v1/_virtual/isSameOrAfter.cjs.map +1 -0
  20. package/dist/v1/_virtual/isSameOrAfter.js +4 -0
  21. package/dist/v1/_virtual/isSameOrAfter.js.map +1 -0
  22. package/dist/v1/_virtual/isSameOrBefore.cjs +6 -0
  23. package/dist/v1/_virtual/isSameOrBefore.cjs.map +1 -0
  24. package/dist/v1/_virtual/isSameOrBefore.js +4 -0
  25. package/dist/v1/_virtual/isSameOrBefore.js.map +1 -0
  26. package/dist/v1/components/calendar/calendar.cjs +1 -1
  27. package/dist/v1/components/calendar/calendar.cjs.map +1 -1
  28. package/dist/v1/components/calendar/calendar.js +1 -1
  29. package/dist/v1/components/calendar/calendar.js.map +1 -1
  30. package/dist/v1/components/calendar/date-picker.cjs +26 -17
  31. package/dist/v1/components/calendar/date-picker.cjs.map +1 -1
  32. package/dist/v1/components/calendar/date-picker.d.ts.map +1 -1
  33. package/dist/v1/components/calendar/date-picker.js +26 -17
  34. package/dist/v1/components/calendar/date-picker.js.map +1 -1
  35. package/dist/v1/components/chip/chip.cjs +3 -3
  36. package/dist/v1/components/chip/chip.cjs.map +1 -1
  37. package/dist/v1/components/chip/chip.d.ts +2 -1
  38. package/dist/v1/components/chip/chip.d.ts.map +1 -1
  39. package/dist/v1/components/chip/chip.js +3 -3
  40. package/dist/v1/components/chip/chip.js.map +1 -1
  41. package/dist/v1/components/data-table/components/content.cjs +81 -0
  42. package/dist/v1/components/data-table/components/content.cjs.map +1 -0
  43. package/dist/v1/components/data-table/components/content.d.ts +3 -0
  44. package/dist/v1/components/data-table/components/content.d.ts.map +1 -0
  45. package/dist/v1/components/data-table/components/content.js +79 -0
  46. package/dist/v1/components/data-table/components/content.js.map +1 -0
  47. package/dist/v1/components/data-table/components/display-properties.cjs +14 -0
  48. package/dist/v1/components/data-table/components/display-properties.cjs.map +1 -0
  49. package/dist/v1/components/data-table/components/display-properties.d.ts +5 -0
  50. package/dist/v1/components/data-table/components/display-properties.d.ts.map +1 -0
  51. package/dist/v1/components/data-table/components/display-properties.js +12 -0
  52. package/dist/v1/components/data-table/components/display-properties.js.map +1 -0
  53. package/dist/v1/components/data-table/components/display-settings.cjs +51 -0
  54. package/dist/v1/components/data-table/components/display-settings.cjs.map +1 -0
  55. package/dist/v1/components/data-table/components/display-settings.d.ts +2 -0
  56. package/dist/v1/components/data-table/components/display-settings.d.ts.map +1 -0
  57. package/dist/v1/components/data-table/components/display-settings.js +49 -0
  58. package/dist/v1/components/data-table/components/display-settings.js.map +1 -0
  59. package/dist/v1/components/data-table/components/filters.cjs +44 -0
  60. package/dist/v1/components/data-table/components/filters.cjs.map +1 -0
  61. package/dist/v1/components/data-table/components/filters.d.ts +2 -0
  62. package/dist/v1/components/data-table/components/filters.d.ts.map +1 -0
  63. package/dist/v1/components/data-table/components/filters.js +42 -0
  64. package/dist/v1/components/data-table/components/filters.js.map +1 -0
  65. package/dist/v1/components/data-table/components/grouping.cjs +31 -0
  66. package/dist/v1/components/data-table/components/grouping.cjs.map +1 -0
  67. package/dist/v1/components/data-table/components/grouping.d.ts +9 -0
  68. package/dist/v1/components/data-table/components/grouping.d.ts.map +1 -0
  69. package/dist/v1/components/data-table/components/grouping.js +29 -0
  70. package/dist/v1/components/data-table/components/grouping.js.map +1 -0
  71. package/dist/v1/components/data-table/components/ordering.cjs +24 -0
  72. package/dist/v1/components/data-table/components/ordering.cjs.map +1 -0
  73. package/dist/v1/components/data-table/components/ordering.d.ts +8 -0
  74. package/dist/v1/components/data-table/components/ordering.d.ts.map +1 -0
  75. package/dist/v1/components/data-table/components/ordering.js +22 -0
  76. package/dist/v1/components/data-table/components/ordering.js.map +1 -0
  77. package/dist/v1/components/data-table/components/search.cjs +22 -0
  78. package/dist/v1/components/data-table/components/search.cjs.map +1 -0
  79. package/dist/v1/components/data-table/components/search.d.ts +3 -0
  80. package/dist/v1/components/data-table/components/search.d.ts.map +1 -0
  81. package/dist/v1/components/data-table/components/search.js +20 -0
  82. package/dist/v1/components/data-table/components/search.js.map +1 -0
  83. package/dist/v1/components/data-table/components/toolbar.cjs +15 -0
  84. package/dist/v1/components/data-table/components/toolbar.cjs.map +1 -0
  85. package/dist/v1/components/data-table/components/toolbar.d.ts +4 -0
  86. package/dist/v1/components/data-table/components/toolbar.d.ts.map +1 -0
  87. package/dist/v1/components/data-table/components/toolbar.js +13 -0
  88. package/dist/v1/components/data-table/components/toolbar.js.map +1 -0
  89. package/dist/v1/components/data-table/context.cjs +8 -0
  90. package/dist/v1/components/data-table/context.cjs.map +1 -0
  91. package/dist/v1/components/data-table/context.d.ts +3 -0
  92. package/dist/v1/components/data-table/context.d.ts.map +1 -0
  93. package/dist/v1/components/data-table/context.js +6 -0
  94. package/dist/v1/components/data-table/context.js.map +1 -0
  95. package/dist/v1/components/data-table/data-table.cjs +87 -0
  96. package/dist/v1/components/data-table/data-table.cjs.map +1 -0
  97. package/dist/v1/components/data-table/data-table.d.ts +12 -0
  98. package/dist/v1/components/data-table/data-table.d.ts.map +1 -0
  99. package/dist/v1/components/data-table/data-table.js +85 -0
  100. package/dist/v1/components/data-table/data-table.js.map +1 -0
  101. package/dist/v1/components/data-table/data-table.module.css.cjs +8 -0
  102. package/dist/v1/components/data-table/data-table.module.css.cjs.map +1 -0
  103. package/dist/v1/components/data-table/data-table.module.css.js +4 -0
  104. package/dist/v1/components/data-table/data-table.module.css.js.map +1 -0
  105. package/dist/v1/components/data-table/data-table.types.cjs +9 -0
  106. package/dist/v1/components/data-table/data-table.types.cjs.map +1 -0
  107. package/dist/v1/components/data-table/data-table.types.d.ts +102 -0
  108. package/dist/v1/components/data-table/data-table.types.d.ts.map +1 -0
  109. package/dist/v1/components/data-table/data-table.types.js +7 -0
  110. package/dist/v1/components/data-table/data-table.types.js.map +1 -0
  111. package/dist/v1/components/data-table/hooks/useDataTable.cjs +15 -0
  112. package/dist/v1/components/data-table/hooks/useDataTable.cjs.map +1 -0
  113. package/dist/v1/components/data-table/hooks/useDataTable.d.ts +2 -0
  114. package/dist/v1/components/data-table/hooks/useDataTable.d.ts.map +1 -0
  115. package/dist/v1/components/data-table/hooks/useDataTable.js +13 -0
  116. package/dist/v1/components/data-table/hooks/useDataTable.js.map +1 -0
  117. package/dist/v1/components/data-table/hooks/useFilters.cjs +78 -0
  118. package/dist/v1/components/data-table/hooks/useFilters.cjs.map +1 -0
  119. package/dist/v1/components/data-table/hooks/useFilters.d.ts +9 -0
  120. package/dist/v1/components/data-table/hooks/useFilters.d.ts.map +1 -0
  121. package/dist/v1/components/data-table/hooks/useFilters.js +76 -0
  122. package/dist/v1/components/data-table/hooks/useFilters.js.map +1 -0
  123. package/dist/v1/components/data-table/index.d.ts +4 -0
  124. package/dist/v1/components/data-table/index.d.ts.map +1 -0
  125. package/dist/v1/components/data-table/utils/filter-operations.cjs +83 -0
  126. package/dist/v1/components/data-table/utils/filter-operations.cjs.map +1 -0
  127. package/dist/v1/components/data-table/utils/filter-operations.d.ts +11 -0
  128. package/dist/v1/components/data-table/utils/filter-operations.d.ts.map +1 -0
  129. package/dist/v1/components/data-table/utils/filter-operations.js +80 -0
  130. package/dist/v1/components/data-table/utils/filter-operations.js.map +1 -0
  131. package/dist/v1/components/data-table/utils/index.cjs +156 -0
  132. package/dist/v1/components/data-table/utils/index.cjs.map +1 -0
  133. package/dist/v1/components/data-table/utils/index.d.ts +14 -0
  134. package/dist/v1/components/data-table/utils/index.d.ts.map +1 -0
  135. package/dist/v1/components/data-table/utils/index.js +147 -0
  136. package/dist/v1/components/data-table/utils/index.js.map +1 -0
  137. package/dist/v1/components/dialog/dialog.cjs +4 -3
  138. package/dist/v1/components/dialog/dialog.cjs.map +1 -1
  139. package/dist/v1/components/dialog/dialog.d.ts +9 -2
  140. package/dist/v1/components/dialog/dialog.d.ts.map +1 -1
  141. package/dist/v1/components/dialog/dialog.js +5 -4
  142. package/dist/v1/components/dialog/dialog.js.map +1 -1
  143. package/dist/v1/components/dialog/dialog.module.css.cjs +1 -1
  144. package/dist/v1/components/dialog/dialog.module.css.js +1 -1
  145. package/dist/v1/components/filter-chip/filter-chip.cjs +28 -19
  146. package/dist/v1/components/filter-chip/filter-chip.cjs.map +1 -1
  147. package/dist/v1/components/filter-chip/filter-chip.d.ts +3 -7
  148. package/dist/v1/components/filter-chip/filter-chip.d.ts.map +1 -1
  149. package/dist/v1/components/filter-chip/filter-chip.js +28 -19
  150. package/dist/v1/components/filter-chip/filter-chip.js.map +1 -1
  151. package/dist/v1/components/icons/assets/filter.svg.cjs +41 -0
  152. package/dist/v1/components/icons/assets/filter.svg.cjs.map +1 -0
  153. package/dist/v1/components/icons/assets/filter.svg.js +20 -0
  154. package/dist/v1/components/icons/assets/filter.svg.js.map +1 -0
  155. package/dist/v1/components/icons/icons.d.ts +3 -0
  156. package/dist/v1/components/icons/icons.d.ts.map +1 -0
  157. package/dist/v1/components/icons/index.d.ts +2 -0
  158. package/dist/v1/components/icons/index.d.ts.map +1 -0
  159. package/dist/v1/components/input-field/input-field.cjs +1 -1
  160. package/dist/v1/components/input-field/input-field.cjs.map +1 -1
  161. package/dist/v1/components/input-field/input-field.js +1 -1
  162. package/dist/v1/components/input-field/input-field.js.map +1 -1
  163. package/dist/v1/components/sidebar/index.d.ts +2 -0
  164. package/dist/v1/components/sidebar/index.d.ts.map +1 -0
  165. package/dist/v1/components/sidebar/sidebar.cjs +47 -0
  166. package/dist/v1/components/sidebar/sidebar.cjs.map +1 -0
  167. package/dist/v1/components/{sidepanel/sidepanel.d.ts → sidebar/sidebar.d.ts} +22 -11
  168. package/dist/v1/components/sidebar/sidebar.d.ts.map +1 -0
  169. package/dist/v1/components/sidebar/sidebar.js +45 -0
  170. package/dist/v1/components/sidebar/sidebar.js.map +1 -0
  171. package/dist/v1/components/sidebar/sidebar.module.css.cjs +8 -0
  172. package/dist/v1/components/sidebar/sidebar.module.css.cjs.map +1 -0
  173. package/dist/v1/components/sidebar/sidebar.module.css.js +4 -0
  174. package/dist/v1/components/sidebar/sidebar.module.css.js.map +1 -0
  175. package/dist/v1/components/table/table.cjs.map +1 -1
  176. package/dist/v1/components/table/table.d.ts +2 -2
  177. package/dist/v1/components/table/table.js.map +1 -1
  178. package/dist/v1/components/tooltip/tooltip.cjs +1 -1
  179. package/dist/v1/components/tooltip/tooltip.cjs.map +1 -1
  180. package/dist/v1/components/tooltip/tooltip.js +1 -1
  181. package/dist/v1/components/tooltip/tooltip.js.map +1 -1
  182. package/dist/v1/index.cjs +6 -2
  183. package/dist/v1/index.cjs.map +1 -1
  184. package/dist/v1/index.d.ts +2 -1
  185. package/dist/v1/index.d.ts.map +1 -1
  186. package/dist/v1/index.js +4 -1
  187. package/dist/v1/index.js.map +1 -1
  188. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs +92 -0
  189. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs.map +1 -1
  190. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +89 -1
  191. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
  192. package/dist/v1/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.cjs +131 -0
  193. package/dist/v1/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.cjs.map +1 -0
  194. package/dist/v1/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.js +72 -0
  195. package/dist/v1/node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.js.map +1 -0
  196. package/dist/v1/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.cjs +3338 -0
  197. package/dist/v1/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.cjs.map +1 -0
  198. package/dist/v1/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.js +3299 -0
  199. package/dist/v1/node_modules/.pnpm/@tanstack_table-core@8.9.2/node_modules/@tanstack/table-core/build/lib/index.js.map +1 -0
  200. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrAfter.cjs +16 -0
  201. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrAfter.cjs.map +1 -0
  202. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrAfter.js +12 -0
  203. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrAfter.js.map +1 -0
  204. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrBefore.cjs +16 -0
  205. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrBefore.cjs.map +1 -0
  206. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrBefore.js +12 -0
  207. package/dist/v1/node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/plugin/isSameOrBefore.js.map +1 -0
  208. package/dist/v1/style.css +1 -1
  209. package/dist/v1/types/filters.cjs +39 -0
  210. package/dist/v1/types/filters.cjs.map +1 -0
  211. package/dist/v1/types/filters.d.ts +42 -0
  212. package/dist/v1/types/filters.d.ts.map +1 -0
  213. package/dist/v1/types/filters.js +36 -0
  214. package/dist/v1/types/filters.js.map +1 -0
  215. package/package.json +2 -1
  216. package/dist/v1/components/sidepanel/index.d.ts +0 -2
  217. package/dist/v1/components/sidepanel/index.d.ts.map +0 -1
  218. package/dist/v1/components/sidepanel/sidepanel.cjs +0 -44
  219. package/dist/v1/components/sidepanel/sidepanel.cjs.map +0 -1
  220. package/dist/v1/components/sidepanel/sidepanel.d.ts.map +0 -1
  221. package/dist/v1/components/sidepanel/sidepanel.js +0 -42
  222. package/dist/v1/components/sidepanel/sidepanel.js.map +0 -1
  223. package/dist/v1/components/sidepanel/sidepanel.module.css.cjs +0 -8
  224. package/dist/v1/components/sidepanel/sidepanel.module.css.cjs.map +0 -1
  225. package/dist/v1/components/sidepanel/sidepanel.module.css.js +0 -4
  226. package/dist/v1/components/sidepanel/sidepanel.module.css.js.map +0 -1
@@ -12,22 +12,33 @@ require('../../node_modules/.pnpm/react-day-picker@9.0.4_react@18.2.0/node_modul
12
12
  require('../../node_modules/.pnpm/react-day-picker@9.0.4_react@18.2.0/node_modules/react-day-picker/dist/esm/useDayPicker.cjs');
13
13
  require('../tooltip/tooltip.cjs');
14
14
  var datePicker = require('../calendar/date-picker.cjs');
15
- var rangePicker = require('../calendar/range-picker.cjs');
15
+ require('../../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.cjs');
16
+ require('../popover/popover.cjs');
16
17
  var filterChip_module = require('./filter-chip.module.css.cjs');
18
+ var filters = require('../../types/filters.cjs');
17
19
 
18
- const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = 'text', options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
19
- const [operation, setOperation] = React.useState('is');
20
- const [filterValue, setFilterValue] = React.useState(value || '');
21
- const operationOptions = [
22
- { label: 'is', value: 'is' },
23
- { label: 'is not', value: 'is not' },
24
- { label: 'contains', value: 'contains' },
25
- ];
20
+ const Operation = ({ label, columnType = filters.FilterType.text, onOperationSelect, }) => {
21
+ const filterOptions = filters.filterOperators[columnType] || [];
22
+ // FilterOperatorTypes gives error as Select returns string
23
+ const [value, setValue] = React.useState(filterOptions?.[0]?.value);
26
24
  React.useEffect(() => {
27
- if (onOperationChange) {
28
- onOperationChange(operation);
25
+ const selectedOption = filterOptions.find((o) => o.value === value);
26
+ if (selectedOption) {
27
+ onOperationSelect(selectedOption);
29
28
  }
30
- }, [operation]);
29
+ }, [value]);
30
+ return (jsxRuntime.jsxRuntimeExports.jsxs(select.Select, { value: value, onValueChange: setValue, "aria-labelledby": `${label}-label`, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.Trigger, { variant: "filter", className: filterChip_module.default.operation, "aria-label": `${label} filter operation`, children: jsxRuntime.jsxRuntimeExports.jsx(select.Select.Value, { placeholder: "Select operation", className: filterChip_module.default.operationText }) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.Content, { "data-variant": "filter", children: filterOptions.map((opt) => {
31
+ return (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value, "aria-label": `Filter ${label} ${opt.label}`, children: opt.label }, opt.value));
32
+ }) })] }));
33
+ };
34
+ const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = "text", options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
35
+ const [operation, setOperation] = React.useState();
36
+ const [filterValue, setFilterValue] = React.useState(value || "");
37
+ React.useEffect(() => {
38
+ if (onOperationChange && operation?.value) {
39
+ onOperationChange(operation?.value);
40
+ }
41
+ }, [operation?.value]);
31
42
  React.useEffect(() => {
32
43
  if (onValueChange) {
33
44
  onValueChange(filterValue);
@@ -35,17 +46,15 @@ const FilterChip = ({ label, value, onRemove = () => null, className, ref, colum
35
46
  }, [filterValue]);
36
47
  const renderValueInput = () => {
37
48
  switch (columnType) {
38
- case 'select':
39
- return (jsxRuntime.jsxRuntimeExports.jsxs(select.Select, { value: filterValue, onValueChange: setFilterValue, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.Trigger, { variant: "filter", children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.selectValue, children: jsxRuntime.jsxRuntimeExports.jsx(select.Select.Value, { placeholder: "Select value" }) }) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.Content, { "data-variant": "filter", children: options.map((opt) => (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value, children: opt.label }, opt.value))) })] }));
40
- case 'date':
41
- return (jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.dateFieldWrapper, children: jsxRuntime.jsxRuntimeExports.jsx(datePicker.DatePicker, { onSelect: (date) => setFilterValue(date), showCalendarIcon: false, textFieldProps: { className: filterChip_module.default.dateField } }) }));
42
- case 'range':
43
- return (jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.dateFieldWrapper, children: jsxRuntime.jsxRuntimeExports.jsx(rangePicker.RangePicker, { textFieldProps: { className: filterChip_module.default.dateField }, onSelect: (range) => setFilterValue(range), showCalendarIcon: false, value: filterValue }) }));
49
+ case filters.FilterType.select:
50
+ return (jsxRuntime.jsxRuntimeExports.jsxs(select.Select, { value: filterValue.toString(), onValueChange: setFilterValue, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.Trigger, { variant: "filter", className: filterChip_module.default.selectValue, children: jsxRuntime.jsxRuntimeExports.jsx(select.Select.Value, { placeholder: "Select value" }) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.Content, { "data-variant": "filter", children: options.map((opt) => (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value.toString(), children: opt.label }, opt.value.toString()))) })] }));
51
+ case filters.FilterType.date:
52
+ return (jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.dateFieldWrapper, children: jsxRuntime.jsxRuntimeExports.jsx(datePicker.DatePicker, { value: filterValue, onSelect: (date) => setFilterValue(date), showCalendarIcon: false, textFieldProps: { className: filterChip_module.default.dateField } }) }));
44
53
  default:
45
54
  return (jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.textFieldWrapper, children: jsxRuntime.jsxRuntimeExports.jsx(textfield.TextField, { className: filterChip_module.default.textField, value: filterValue, onChange: (e) => setFilterValue(e.target.value) }) }));
46
55
  }
47
56
  };
48
- return (jsxRuntime.jsxRuntimeExports.jsx(box.Box, { ref: ref, className: [filterChip_module.default.chip, className].filter(Boolean).join(" "), role: "group", "aria-label": `Filter by ${label}`, ...props, children: jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { align: "center", children: [jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { align: "center", style: { gap: 'var(--rs-space-2)' }, children: [leadingIcon && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: filterChip_module.default.leadingIcon, "aria-hidden": "true", children: leadingIcon })), jsxRuntime.jsxRuntimeExports.jsx(text.Text, { size: 2, weight: "normal", children: label })] }), jsxRuntime.jsxRuntimeExports.jsxs(select.Select, { defaultValue: operation, onValueChange: setOperation, "aria-labelledby": `${label}-label`, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.Trigger, { className: filterChip_module.default.operation, variant: "filter", "aria-label": `${label} filter operation`, children: jsxRuntime.jsxRuntimeExports.jsx("span", { className: filterChip_module.default.operationText, children: operation }) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.Content, { "data-variant": "filter", children: operationOptions.map((opt) => (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value, "aria-label": `Filter ${label} ${opt.label}`, children: opt.label }, opt.value))) })] }), renderValueInput(), jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.removeIconContainer, role: "button", tabIndex: 0, "aria-label": `Remove ${label} filter`, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.Cross1Icon, { className: filterChip_module.default.removeIcon, onClick: onRemove }) })] }) }));
57
+ return (jsxRuntime.jsxRuntimeExports.jsx(box.Box, { ref: ref, className: [filterChip_module.default.chip, className].filter(Boolean).join(" "), role: "group", "aria-label": `Filter by ${label}`, ...props, children: jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { align: "center", children: [jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { align: "center", gap: 2, children: [leadingIcon && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: filterChip_module.default.leadingIcon, "aria-hidden": "true", children: leadingIcon })), jsxRuntime.jsxRuntimeExports.jsx(text.Text, { size: 2, weight: "normal", children: label })] }), jsxRuntime.jsxRuntimeExports.jsx(Operation, { columnType: columnType, label: label, onOperationSelect: setOperation }), renderValueInput(), jsxRuntime.jsxRuntimeExports.jsx("div", { className: filterChip_module.default.removeIconContainer, role: "button", tabIndex: 0, "aria-label": `Remove ${label} filter`, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.Cross1Icon, { className: filterChip_module.default.removeIcon, onClick: onRemove }) })] }) }));
49
58
  };
50
59
  FilterChip.displayName = "FilterChip";
51
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"filter-chip.cjs","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker, RangePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\n\ntype FilterVariant = 'select' | 'text' | 'date' | 'range' | 'number';\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterVariant;\n options?: Array<{ label: string; value: string }>;\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = 'text',\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState('is');\n const [filterValue, setFilterValue] = useState<any>(value || '');\n\n const operationOptions = [\n { label: 'is', value: 'is' },\n { label: 'is not', value: 'is not' },\n { label: 'contains', value: 'contains' },\n ];\n\n useEffect(() => {\n if (onOperationChange) {\n onOperationChange(operation);\n }\n }, [operation]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case 'select':\n return (\n <Select\n value={filterValue}\n onValueChange={setFilterValue}\n >\n <Select.Trigger variant=\"filter\">\n <div className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </div>\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item key={opt.value} value={opt.value}>\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case 'date':\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker \n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n case 'range':\n return (\n <div className={styles.dateFieldWrapper}>\n <RangePicker\n textFieldProps={{ className: styles.dateField }}\n onSelect={(range) => setFilterValue(range)}\n showCalendarIcon={false}\n value={filterValue}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" style={{ gap: 'var(--rs-space-2)' }}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Select defaultValue={operation} onValueChange={setOperation} aria-labelledby={`${label}-label`}>\n <Select.Trigger className={styles.operation} variant=\"filter\" aria-label={`${label} filter operation`}>\n <span className={styles.operationText}>{operation}</span>\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {operationOptions.map((opt) => (\n <Select.Item key={opt.value} value={opt.value} aria-label={`Filter ${label} ${opt.label}`}>\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n {renderValueInput()}\n <div className={styles.removeIconContainer} \n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon \n className={styles.removeIcon}\n onClick={onRemove}\n />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["useState","useEffect","_jsxs","Select","_jsx","styles","DatePicker","RangePicker","TextField","Box","Flex","Text","Cross1Icon"],"mappings":"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"}
1
+ {"version":3,"file":"filter-chip.cjs","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\nimport {\n FilterSelectOption,\n FilterOperation,\n FilterType,\n FilterTypes,\n filterOperators,\n} from \"~/v1/types/filters\";\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterTypes;\n options?: FilterSelectOption[];\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\ninterface OperationProps {\n label: string;\n columnType: FilterTypes;\n onOperationSelect: (op: FilterOperation) => void;\n}\n\nconst Operation = ({\n label,\n columnType = FilterType.text,\n onOperationSelect,\n}: OperationProps) => {\n const filterOptions = filterOperators[columnType] || [];\n // FilterOperatorTypes gives error as Select returns string\n const [value, setValue] = useState<string>(filterOptions?.[0]?.value);\n\n useEffect(() => {\n const selectedOption = filterOptions.find((o) => o.value === value);\n if (selectedOption) {\n onOperationSelect(selectedOption);\n }\n }, [value]);\n\n return (\n <Select\n value={value}\n onValueChange={setValue}\n aria-labelledby={`${label}-label`}\n >\n <Select.Trigger\n variant=\"filter\"\n className={styles.operation}\n aria-label={`${label} filter operation`}\n >\n <Select.Value\n placeholder=\"Select operation\"\n className={styles.operationText}\n />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {filterOptions.map((opt) => {\n return (\n <Select.Item\n key={opt.value}\n value={opt.value}\n aria-label={`Filter ${label} ${opt.label}`}\n >\n {opt.label}\n </Select.Item>\n );\n })}\n </Select.Content>\n </Select>\n );\n};\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = \"text\",\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState<FilterOperation>();\n const [filterValue, setFilterValue] = useState<any>(value || \"\");\n\n useEffect(() => {\n if (onOperationChange && operation?.value) {\n onOperationChange(operation?.value);\n }\n }, [operation?.value]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case FilterType.select:\n return (\n <Select value={filterValue.toString()} onValueChange={setFilterValue}>\n <Select.Trigger variant=\"filter\" className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item\n key={opt.value.toString()}\n value={opt.value.toString()}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case FilterType.date:\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker\n value={filterValue}\n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" gap={2}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Operation\n columnType={columnType}\n label={label}\n onOperationSelect={setOperation}\n />\n {renderValueInput()}\n <div\n className={styles.removeIconContainer}\n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon className={styles.removeIcon} onClick={onRemove} />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["FilterType","filterOperators","useState","useEffect","_jsxs","Select","_jsx","styles","DatePicker","TextField","Box","Flex","Text","Cross1Icon"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode, ReactElement } from "react";
2
- type FilterVariant = 'select' | 'text' | 'date' | 'range' | 'number';
2
+ import { FilterSelectOption, FilterTypes } from "~/v1/types/filters";
3
3
  export interface FilterChipProps {
4
4
  label: string;
5
5
  value?: string;
@@ -7,11 +7,8 @@ export interface FilterChipProps {
7
7
  className?: string;
8
8
  ref?: React.RefObject<HTMLDivElement>;
9
9
  children?: ReactNode;
10
- columnType?: FilterVariant;
11
- options?: Array<{
12
- label: string;
13
- value: string;
14
- }>;
10
+ columnType?: FilterTypes;
11
+ options?: FilterSelectOption[];
15
12
  onValueChange?: (value: any) => void;
16
13
  onOperationChange?: (operation: string) => void;
17
14
  leadingIcon?: ReactElement;
@@ -20,5 +17,4 @@ export declare const FilterChip: {
20
17
  ({ label, value, onRemove, className, ref, columnType, options, onValueChange, onOperationChange, leadingIcon, ...props }: FilterChipProps): import("react/jsx-runtime").JSX.Element;
21
18
  displayName: string;
22
19
  };
23
- export {};
24
20
  //# sourceMappingURL=filter-chip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-chip.d.ts","sourceRoot":"","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuB,YAAY,EAAE,MAAM,OAAO,CAAC;AASrE,KAAK,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED,eAAO,MAAM,UAAU;+HAYpB,eAAe;;CA2HjB,CAAC"}
1
+ {"version":3,"file":"filter-chip.d.ts","sourceRoot":"","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuB,YAAY,EAAE,MAAM,OAAO,CAAC;AAQrE,OAAO,EACL,kBAAkB,EAGlB,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAyDD,eAAO,MAAM,UAAU;+HAYpB,eAAe;;CAgGjB,CAAC"}
@@ -10,22 +10,33 @@ import '../../node_modules/.pnpm/react-day-picker@9.0.4_react@18.2.0/node_module
10
10
  import '../../node_modules/.pnpm/react-day-picker@9.0.4_react@18.2.0/node_modules/react-day-picker/dist/esm/useDayPicker.js';
11
11
  import '../tooltip/tooltip.js';
12
12
  import { DatePicker } from '../calendar/date-picker.js';
13
- import { RangePicker } from '../calendar/range-picker.js';
13
+ import '../../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.js';
14
+ import '../popover/popover.js';
14
15
  import styles from './filter-chip.module.css.js';
16
+ import { FilterType, filterOperators } from '../../types/filters.js';
15
17
 
16
- const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = 'text', options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
17
- const [operation, setOperation] = useState('is');
18
- const [filterValue, setFilterValue] = useState(value || '');
19
- const operationOptions = [
20
- { label: 'is', value: 'is' },
21
- { label: 'is not', value: 'is not' },
22
- { label: 'contains', value: 'contains' },
23
- ];
18
+ const Operation = ({ label, columnType = FilterType.text, onOperationSelect, }) => {
19
+ const filterOptions = filterOperators[columnType] || [];
20
+ // FilterOperatorTypes gives error as Select returns string
21
+ const [value, setValue] = useState(filterOptions?.[0]?.value);
24
22
  useEffect(() => {
25
- if (onOperationChange) {
26
- onOperationChange(operation);
23
+ const selectedOption = filterOptions.find((o) => o.value === value);
24
+ if (selectedOption) {
25
+ onOperationSelect(selectedOption);
27
26
  }
28
- }, [operation]);
27
+ }, [value]);
28
+ return (jsxRuntimeExports.jsxs(Select, { value: value, onValueChange: setValue, "aria-labelledby": `${label}-label`, children: [jsxRuntimeExports.jsx(Select.Trigger, { variant: "filter", className: styles.operation, "aria-label": `${label} filter operation`, children: jsxRuntimeExports.jsx(Select.Value, { placeholder: "Select operation", className: styles.operationText }) }), jsxRuntimeExports.jsx(Select.Content, { "data-variant": "filter", children: filterOptions.map((opt) => {
29
+ return (jsxRuntimeExports.jsx(Select.Item, { value: opt.value, "aria-label": `Filter ${label} ${opt.label}`, children: opt.label }, opt.value));
30
+ }) })] }));
31
+ };
32
+ const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = "text", options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
33
+ const [operation, setOperation] = useState();
34
+ const [filterValue, setFilterValue] = useState(value || "");
35
+ useEffect(() => {
36
+ if (onOperationChange && operation?.value) {
37
+ onOperationChange(operation?.value);
38
+ }
39
+ }, [operation?.value]);
29
40
  useEffect(() => {
30
41
  if (onValueChange) {
31
42
  onValueChange(filterValue);
@@ -33,17 +44,15 @@ const FilterChip = ({ label, value, onRemove = () => null, className, ref, colum
33
44
  }, [filterValue]);
34
45
  const renderValueInput = () => {
35
46
  switch (columnType) {
36
- case 'select':
37
- return (jsxRuntimeExports.jsxs(Select, { value: filterValue, onValueChange: setFilterValue, children: [jsxRuntimeExports.jsx(Select.Trigger, { variant: "filter", children: jsxRuntimeExports.jsx("div", { className: styles.selectValue, children: jsxRuntimeExports.jsx(Select.Value, { placeholder: "Select value" }) }) }), jsxRuntimeExports.jsx(Select.Content, { "data-variant": "filter", children: options.map((opt) => (jsxRuntimeExports.jsx(Select.Item, { value: opt.value, children: opt.label }, opt.value))) })] }));
38
- case 'date':
39
- return (jsxRuntimeExports.jsx("div", { className: styles.dateFieldWrapper, children: jsxRuntimeExports.jsx(DatePicker, { onSelect: (date) => setFilterValue(date), showCalendarIcon: false, textFieldProps: { className: styles.dateField } }) }));
40
- case 'range':
41
- return (jsxRuntimeExports.jsx("div", { className: styles.dateFieldWrapper, children: jsxRuntimeExports.jsx(RangePicker, { textFieldProps: { className: styles.dateField }, onSelect: (range) => setFilterValue(range), showCalendarIcon: false, value: filterValue }) }));
47
+ case FilterType.select:
48
+ return (jsxRuntimeExports.jsxs(Select, { value: filterValue.toString(), onValueChange: setFilterValue, children: [jsxRuntimeExports.jsx(Select.Trigger, { variant: "filter", className: styles.selectValue, children: jsxRuntimeExports.jsx(Select.Value, { placeholder: "Select value" }) }), jsxRuntimeExports.jsx(Select.Content, { "data-variant": "filter", children: options.map((opt) => (jsxRuntimeExports.jsx(Select.Item, { value: opt.value.toString(), children: opt.label }, opt.value.toString()))) })] }));
49
+ case FilterType.date:
50
+ return (jsxRuntimeExports.jsx("div", { className: styles.dateFieldWrapper, children: jsxRuntimeExports.jsx(DatePicker, { value: filterValue, onSelect: (date) => setFilterValue(date), showCalendarIcon: false, textFieldProps: { className: styles.dateField } }) }));
42
51
  default:
43
52
  return (jsxRuntimeExports.jsx("div", { className: styles.textFieldWrapper, children: jsxRuntimeExports.jsx(TextField, { className: styles.textField, value: filterValue, onChange: (e) => setFilterValue(e.target.value) }) }));
44
53
  }
45
54
  };
46
- return (jsxRuntimeExports.jsx(Box, { ref: ref, className: [styles.chip, className].filter(Boolean).join(" "), role: "group", "aria-label": `Filter by ${label}`, ...props, children: jsxRuntimeExports.jsxs(Flex, { align: "center", children: [jsxRuntimeExports.jsxs(Flex, { align: "center", style: { gap: 'var(--rs-space-2)' }, children: [leadingIcon && (jsxRuntimeExports.jsx("span", { className: styles.leadingIcon, "aria-hidden": "true", children: leadingIcon })), jsxRuntimeExports.jsx(Text, { size: 2, weight: "normal", children: label })] }), jsxRuntimeExports.jsxs(Select, { defaultValue: operation, onValueChange: setOperation, "aria-labelledby": `${label}-label`, children: [jsxRuntimeExports.jsx(Select.Trigger, { className: styles.operation, variant: "filter", "aria-label": `${label} filter operation`, children: jsxRuntimeExports.jsx("span", { className: styles.operationText, children: operation }) }), jsxRuntimeExports.jsx(Select.Content, { "data-variant": "filter", children: operationOptions.map((opt) => (jsxRuntimeExports.jsx(Select.Item, { value: opt.value, "aria-label": `Filter ${label} ${opt.label}`, children: opt.label }, opt.value))) })] }), renderValueInput(), jsxRuntimeExports.jsx("div", { className: styles.removeIconContainer, role: "button", tabIndex: 0, "aria-label": `Remove ${label} filter`, children: jsxRuntimeExports.jsx(Cross1Icon, { className: styles.removeIcon, onClick: onRemove }) })] }) }));
55
+ return (jsxRuntimeExports.jsx(Box, { ref: ref, className: [styles.chip, className].filter(Boolean).join(" "), role: "group", "aria-label": `Filter by ${label}`, ...props, children: jsxRuntimeExports.jsxs(Flex, { align: "center", children: [jsxRuntimeExports.jsxs(Flex, { align: "center", gap: 2, children: [leadingIcon && (jsxRuntimeExports.jsx("span", { className: styles.leadingIcon, "aria-hidden": "true", children: leadingIcon })), jsxRuntimeExports.jsx(Text, { size: 2, weight: "normal", children: label })] }), jsxRuntimeExports.jsx(Operation, { columnType: columnType, label: label, onOperationSelect: setOperation }), renderValueInput(), jsxRuntimeExports.jsx("div", { className: styles.removeIconContainer, role: "button", tabIndex: 0, "aria-label": `Remove ${label} filter`, children: jsxRuntimeExports.jsx(Cross1Icon, { className: styles.removeIcon, onClick: onRemove }) })] }) }));
47
56
  };
48
57
  FilterChip.displayName = "FilterChip";
49
58
 
@@ -1 +1 @@
1
- {"version":3,"file":"filter-chip.js","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker, RangePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\n\ntype FilterVariant = 'select' | 'text' | 'date' | 'range' | 'number';\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterVariant;\n options?: Array<{ label: string; value: string }>;\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = 'text',\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState('is');\n const [filterValue, setFilterValue] = useState<any>(value || '');\n\n const operationOptions = [\n { label: 'is', value: 'is' },\n { label: 'is not', value: 'is not' },\n { label: 'contains', value: 'contains' },\n ];\n\n useEffect(() => {\n if (onOperationChange) {\n onOperationChange(operation);\n }\n }, [operation]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case 'select':\n return (\n <Select\n value={filterValue}\n onValueChange={setFilterValue}\n >\n <Select.Trigger variant=\"filter\">\n <div className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </div>\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item key={opt.value} value={opt.value}>\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case 'date':\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker \n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n case 'range':\n return (\n <div className={styles.dateFieldWrapper}>\n <RangePicker\n textFieldProps={{ className: styles.dateField }}\n onSelect={(range) => setFilterValue(range)}\n showCalendarIcon={false}\n value={filterValue}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" style={{ gap: 'var(--rs-space-2)' }}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Select defaultValue={operation} onValueChange={setOperation} aria-labelledby={`${label}-label`}>\n <Select.Trigger className={styles.operation} variant=\"filter\" aria-label={`${label} filter operation`}>\n <span className={styles.operationText}>{operation}</span>\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {operationOptions.map((opt) => (\n <Select.Item key={opt.value} value={opt.value} aria-label={`Filter ${label} ${opt.label}`}>\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n {renderValueInput()}\n <div className={styles.removeIconContainer} \n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon \n className={styles.removeIcon}\n onClick={onRemove}\n />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"filter-chip.js","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\nimport {\n FilterSelectOption,\n FilterOperation,\n FilterType,\n FilterTypes,\n filterOperators,\n} from \"~/v1/types/filters\";\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterTypes;\n options?: FilterSelectOption[];\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\ninterface OperationProps {\n label: string;\n columnType: FilterTypes;\n onOperationSelect: (op: FilterOperation) => void;\n}\n\nconst Operation = ({\n label,\n columnType = FilterType.text,\n onOperationSelect,\n}: OperationProps) => {\n const filterOptions = filterOperators[columnType] || [];\n // FilterOperatorTypes gives error as Select returns string\n const [value, setValue] = useState<string>(filterOptions?.[0]?.value);\n\n useEffect(() => {\n const selectedOption = filterOptions.find((o) => o.value === value);\n if (selectedOption) {\n onOperationSelect(selectedOption);\n }\n }, [value]);\n\n return (\n <Select\n value={value}\n onValueChange={setValue}\n aria-labelledby={`${label}-label`}\n >\n <Select.Trigger\n variant=\"filter\"\n className={styles.operation}\n aria-label={`${label} filter operation`}\n >\n <Select.Value\n placeholder=\"Select operation\"\n className={styles.operationText}\n />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {filterOptions.map((opt) => {\n return (\n <Select.Item\n key={opt.value}\n value={opt.value}\n aria-label={`Filter ${label} ${opt.label}`}\n >\n {opt.label}\n </Select.Item>\n );\n })}\n </Select.Content>\n </Select>\n );\n};\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = \"text\",\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState<FilterOperation>();\n const [filterValue, setFilterValue] = useState<any>(value || \"\");\n\n useEffect(() => {\n if (onOperationChange && operation?.value) {\n onOperationChange(operation?.value);\n }\n }, [operation?.value]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case FilterType.select:\n return (\n <Select value={filterValue.toString()} onValueChange={setFilterValue}>\n <Select.Trigger variant=\"filter\" className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item\n key={opt.value.toString()}\n value={opt.value.toString()}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case FilterType.date:\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker\n value={filterValue}\n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" gap={2}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Operation\n columnType={columnType}\n label={label}\n onOperationSelect={setOperation}\n />\n {renderValueInput()}\n <div\n className={styles.removeIconContainer}\n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon className={styles.removeIcon} onClick={onRemove} />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAqCA,MAAM,SAAS,GAAG,CAAC,EACjB,KAAK,EACL,UAAU,GAAG,UAAU,CAAC,IAAI,EAC5B,iBAAiB,GACF,KAAI;IACnB,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;;AAExD,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEtE,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACpE,IAAI,cAAc,EAAE;YAClB,iBAAiB,CAAC,cAAc,CAAC,CAAC;SACnC;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,QACEA,sBAAA,CAAC,MAAM,EAAA,EACL,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,QAAQ,EAAA,iBAAA,EACN,GAAG,KAAK,CAAA,MAAA,CAAQ,EAEjC,QAAA,EAAA,CAAAC,qBAAA,CAAC,MAAM,CAAC,OAAO,EAAA,EACb,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,MAAM,CAAC,SAAS,gBACf,CAAG,EAAA,KAAK,CAAmB,iBAAA,CAAA,EAAA,QAAA,EAEvCA,qBAAC,CAAA,MAAM,CAAC,KAAK,EACX,EAAA,WAAW,EAAC,kBAAkB,EAC9B,SAAS,EAAE,MAAM,CAAC,aAAa,EAAA,CAC/B,EACa,CAAA,EACjBA,qBAAC,CAAA,MAAM,CAAC,OAAO,oBAAc,QAAQ,EAAA,QAAA,EAClC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;AACzB,oBAAA,QACEA,qBAAA,CAAC,MAAM,CAAC,IAAI,EAAA,EAEV,KAAK,EAAE,GAAG,CAAC,KAAK,EAAA,YAAA,EACJ,CAAU,OAAA,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,CAAC,KAAK,CAAE,CAAA,EAAA,QAAA,EAEzC,GAAG,CAAC,KAAK,EAAA,EAJL,GAAG,CAAC,KAAK,CAKF,EACd;AACJ,iBAAC,CAAC,EAAA,CACa,CACV,EAAA,CAAA,EACT;AACJ,CAAC,CAAC;AAEW,MAAA,UAAU,GAAG,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,GAAG,MAAM,IAAI,EACrB,SAAS,EACT,GAAG,EACH,UAAU,GAAG,MAAM,EACnB,OAAO,GAAG,EAAE,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACQ,KAAI;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAmB,CAAC;AAC9D,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAEjE,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,iBAAiB,IAAI,SAAS,EAAE,KAAK,EAAE;AACzC,YAAA,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACrC;AACH,KAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC,MAAK;QACb,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;AACH,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,gBAAgB,GAAG,MAAK;QAC5B,QAAQ,UAAU;YAChB,KAAK,UAAU,CAAC,MAAM;AACpB,gBAAA,QACED,sBAAC,CAAA,MAAM,IAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,cAAc,EAAA,QAAA,EAAA,CAClEC,sBAAC,MAAM,CAAC,OAAO,EAAC,EAAA,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,WAAW,YAC5DA,qBAAC,CAAA,MAAM,CAAC,KAAK,EAAA,EAAC,WAAW,EAAC,cAAc,GAAG,EAC5B,CAAA,EACjBA,sBAAC,MAAM,CAAC,OAAO,EAAA,EAAA,cAAA,EAAc,QAAQ,EAClC,QAAA,EAAA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MACfA,sBAAC,MAAM,CAAC,IAAI,EAEV,EAAA,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAA,QAAA,EAE1B,GAAG,CAAC,KAAK,IAHL,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAIb,CACf,CAAC,EACa,CAAA,CAAA,EAAA,CACV,EACT;YACJ,KAAK,UAAU,CAAC,IAAI;AAClB,gBAAA,QACEA,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,gBAAgB,EACrC,QAAA,EAAAA,qBAAA,CAAC,UAAU,EACT,EAAA,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,EACxC,gBAAgB,EAAE,KAAK,EACvB,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAC/C,CAAA,EAAA,CACE,EACN;AACJ,YAAA;AACE,gBAAA,QACEA,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAA,QAAA,EACrCA,qBAAC,CAAA,SAAS,IACR,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,CAAA,EAAA,CACE,EACN;SACL;AACH,KAAC,CAAC;AAEF,IAAA,QACEA,qBAAA,CAAC,GAAG,EAAA,EACF,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7D,IAAI,EAAC,OAAO,gBACA,CAAa,UAAA,EAAA,KAAK,CAAE,CAAA,EAAA,GAC5B,KAAK,EAAA,QAAA,EAETD,sBAAC,CAAA,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAA,QAAA,EAAA,CAClBA,sBAAC,CAAA,IAAI,EAAC,EAAA,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAAA,CACxB,WAAW,KACVC,qBAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,WAAW,EAAA,aAAA,EAAc,MAAM,EAAA,QAAA,EACpD,WAAW,EACP,CAAA,CACR,EACDA,qBAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAC,QAAQ,EAC3B,QAAA,EAAA,KAAK,EACD,CAAA,CAAA,EAAA,CACF,EACPA,qBAAC,CAAA,SAAS,EACR,EAAA,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,YAAY,EAAA,CAC/B,EACD,gBAAgB,EAAE,EACnBA,qBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,MAAM,CAAC,mBAAmB,EACrC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACC,YAAA,EAAA,CAAA,OAAA,EAAU,KAAK,CAAS,OAAA,CAAA,EAAA,QAAA,EAEpCA,qBAAC,CAAA,UAAU,EAAC,EAAA,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAI,CAAA,EAAA,CAC3D,CACD,EAAA,CAAA,EAAA,CACH,EACN;AACJ,EAAE;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
23
+
24
+ var _path;
25
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
+ var SvgFilter = function SvgFilter(props) {
27
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ width: 16,
30
+ height: 16,
31
+ fill: "none"
32
+ }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
33
+ fill: "var(--rs-color-foreground-base-secondary)",
34
+ fillRule: "evenodd",
35
+ d: "M2.167 4.8a.5.5 0 0 1 .5-.5h10.666a.5.5 0 1 1 0 1H2.667a.5.5 0 0 1-.5-.5M4.3 8a.5.5 0 0 1 .5-.5h6.4a.5.5 0 0 1 0 1H4.8a.5.5 0 0 1-.5-.5m.933 3.2a.5.5 0 0 1 .5-.5h4.534a.5.5 0 1 1 0 1H5.733a.5.5 0 0 1-.5-.5",
36
+ clipRule: "evenodd"
37
+ })));
38
+ };
39
+
40
+ exports.ReactComponent = SvgFilter;
41
+ //# sourceMappingURL=filter.svg.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.svg.cjs","sources":["../../../../../v1/components/icons/assets/filter.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cg id='Filter'%3e %3cpath id='Shape' fill-rule='evenodd' clip-rule='evenodd' d='M2.16675 4.80005C2.16675 4.52391 2.39061 4.30005 2.66675 4.30005H13.3334C13.6096 4.30005 13.8334 4.52391 13.8334 4.80005C13.8334 5.07619 13.6096 5.30005 13.3334 5.30005H2.66675C2.39061 5.30005 2.16675 5.07619 2.16675 4.80005ZM4.30008 8.00005C4.30008 7.72391 4.52394 7.50005 4.80008 7.50005H11.2001C11.4762 7.50005 11.7001 7.72391 11.7001 8.00005C11.7001 8.27619 11.4762 8.50005 11.2001 8.50005H4.80008C4.52394 8.50005 4.30008 8.27619 4.30008 8.00005ZM5.23341 11.2C5.23341 10.9239 5.45727 10.7 5.73341 10.7H10.2667C10.5429 10.7 10.7667 10.9239 10.7667 11.2C10.7667 11.4762 10.5429 11.7 10.2667 11.7H5.73341C5.45727 11.7 5.23341 11.4762 5.23341 11.2Z' fill='var(--rs-color-foreground-base-secondary)' /%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,KAAK,CAAC;AACV,SAAS,QAAQ,GAAG,EAAE,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAEjR,IAAC,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1C,EAAE,oBAAoBA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgBA,gBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACxE,IAAI,IAAI,EAAE,2CAA2C;AACrD,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,CAAC,EAAE,+MAA+M;AACtN,IAAI,QAAQ,EAAE,SAAS;AACvB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+
3
+ var _path;
4
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
5
+ var SvgFilter = function SvgFilter(props) {
6
+ return /*#__PURE__*/React.createElement("svg", _extends({
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: 16,
9
+ height: 16,
10
+ fill: "none"
11
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
12
+ fill: "var(--rs-color-foreground-base-secondary)",
13
+ fillRule: "evenodd",
14
+ d: "M2.167 4.8a.5.5 0 0 1 .5-.5h10.666a.5.5 0 1 1 0 1H2.667a.5.5 0 0 1-.5-.5M4.3 8a.5.5 0 0 1 .5-.5h6.4a.5.5 0 0 1 0 1H4.8a.5.5 0 0 1-.5-.5m.933 3.2a.5.5 0 0 1 .5-.5h4.534a.5.5 0 1 1 0 1H5.733a.5.5 0 0 1-.5-.5",
15
+ clipRule: "evenodd"
16
+ })));
17
+ };
18
+
19
+ export { SvgFilter as ReactComponent };
20
+ //# sourceMappingURL=filter.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.svg.js","sources":["../../../../../v1/components/icons/assets/filter.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cg id='Filter'%3e %3cpath id='Shape' fill-rule='evenodd' clip-rule='evenodd' d='M2.16675 4.80005C2.16675 4.52391 2.39061 4.30005 2.66675 4.30005H13.3334C13.6096 4.30005 13.8334 4.52391 13.8334 4.80005C13.8334 5.07619 13.6096 5.30005 13.3334 5.30005H2.66675C2.39061 5.30005 2.16675 5.07619 2.16675 4.80005ZM4.30008 8.00005C4.30008 7.72391 4.52394 7.50005 4.80008 7.50005H11.2001C11.4762 7.50005 11.7001 7.72391 11.7001 8.00005C11.7001 8.27619 11.4762 8.50005 11.2001 8.50005H4.80008C4.52394 8.50005 4.30008 8.27619 4.30008 8.00005ZM5.23341 11.2C5.23341 10.9239 5.45727 10.7 5.73341 10.7H10.2667C10.5429 10.7 10.7667 10.9239 10.7667 11.2C10.7667 11.4762 10.5429 11.7 10.2667 11.7H5.73341C5.45727 11.7 5.23341 11.4762 5.23341 11.2Z' fill='var(--rs-color-foreground-base-secondary)' /%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":";;AAAA,IAAI,KAAK,CAAC;AACV,SAAS,QAAQ,GAAG,EAAE,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAEjR,IAAC,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1C,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACxE,IAAI,IAAI,EAAE,2CAA2C;AACrD,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,CAAC,EAAE,+MAA+M;AACtN,IAAI,QAAQ,EAAE,SAAS;AACvB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,3 @@
1
+ import { ReactComponent as FilterIcon } from "./assets/filter.svg";
2
+ export { FilterIcon };
3
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../v1/components/icons/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FilterIcon } from "./icons";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../v1/components/icons/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -6,7 +6,7 @@ var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/c
6
6
  var chip = require('../chip/chip.cjs');
7
7
  var inputField_module = require('./input-field.module.css.cjs');
8
8
 
9
- // Todo: Add a dropdown and chip support
9
+ // Todo: Add a dropdown support
10
10
  const inputWrapper = index.cva(inputField_module.default.inputWrapper, {
11
11
  variants: {
12
12
  size: {
@@ -1 +1 @@
1
- {"version":3,"file":"input-field.cjs","sources":["../../../../v1/components/input-field/input-field.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport clsx from \"clsx\";\nimport { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { Chip } from \"../chip\";\nimport styles from \"./input-field.module.css\";\n\n// Todo: Add a dropdown and chip support\n\nconst inputWrapper = cva(styles.inputWrapper, {\n variants: {\n size: {\n small: styles[\"size-small\"],\n large: styles[\"size-large\"],\n }\n },\n defaultVariants: {\n size: \"large\",\n }\n});\n\nexport interface InputFieldProps\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"error\" | \"size\">,\n VariantProps<typeof inputWrapper> {\n label?: string;\n helperText?: string;\n error?: string;\n disabled?: boolean;\n leadingIcon?: ReactNode;\n trailingIcon?: ReactNode;\n optional?: boolean;\n prefix?: string;\n suffix?: string;\n width?: string | number;\n chips?: Array<{ label: string; onRemove?: () => void }>;\n maxChipsVisible?: number;\n ref?: React.RefObject<HTMLInputElement>;\n}\n\nexport const InputField = ({ \n className,\n disabled,\n label,\n helperText,\n placeholder,\n error,\n leadingIcon,\n trailingIcon,\n optional,\n prefix,\n suffix,\n width,\n chips,\n maxChipsVisible = 2,\n ref,\n size,\n ...props \n}: InputFieldProps) => {\n return (\n <div className={styles.container} style={{ width: width || '100%' }}>\n {label && (\n <label className={clsx(styles.label, disabled && styles[\"label-disabled\"])}>\n {label}\n {optional && <span className={styles.optional}>(optional)</span>}\n </label>\n )}\n <div \n className={clsx(\n inputWrapper({ size, className }),\n chips?.length && styles['has-chips']\n )}\n >\n {leadingIcon && <span className={styles['leading-icon']}>{leadingIcon}</span>}\n {prefix && <span className={styles.prefix}>{prefix}</span>}\n <div className={styles['chip-input-container']}>\n {chips?.slice(0, maxChipsVisible).map((chip, index) => (\n <Chip\n key={index}\n variant=\"outline\"\n isDismissible={!!chip.onRemove}\n onDismiss={chip.onRemove}\n className={styles.chip}\n >\n {chip.label}\n </Chip>\n ))}\n {chips && chips.length > maxChipsVisible && (\n <span className={styles['chip-overflow']}>\n +{chips.length - maxChipsVisible}\n </span>\n )}\n <input\n ref={ref}\n className={clsx(\n styles['input-field'],\n leadingIcon && styles['has-leading-icon'],\n trailingIcon && styles['has-trailing-icon'],\n prefix && styles['has-prefix'],\n suffix && styles['has-suffix'],\n error && styles['input-error'],\n disabled && styles['input-disabled'],\n className\n )}\n aria-invalid={!!error}\n placeholder={placeholder}\n disabled={disabled}\n {...props}\n />\n </div>\n {suffix && <span className={styles.suffix}>{suffix}</span>}\n {trailingIcon && <span className={styles['trailing-icon']}>{trailingIcon}</span>}\n </div>\n {(error || helperText) && (\n <span \n className={clsx(\n styles['helper-text'], \n error && styles['helper-text-error'],\n disabled && styles['helper-text-disabled']\n )}\n >\n {error || helperText}\n </span>\n )}\n </div>\n );\n};\n\nInputField.displayName = \"InputField\";"],"names":["cva","styles","_jsxs","clsx","_jsx","chip","Chip"],"mappings":"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"}
1
+ {"version":3,"file":"input-field.cjs","sources":["../../../../v1/components/input-field/input-field.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport clsx from \"clsx\";\nimport { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { Chip } from \"../chip\";\nimport styles from \"./input-field.module.css\";\n\n// Todo: Add a dropdown support\n\nconst inputWrapper = cva(styles.inputWrapper, {\n variants: {\n size: {\n small: styles[\"size-small\"],\n large: styles[\"size-large\"],\n }\n },\n defaultVariants: {\n size: \"large\",\n }\n});\n\nexport interface InputFieldProps\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"error\" | \"size\">,\n VariantProps<typeof inputWrapper> {\n label?: string;\n helperText?: string;\n error?: string;\n disabled?: boolean;\n leadingIcon?: ReactNode;\n trailingIcon?: ReactNode;\n optional?: boolean;\n prefix?: string;\n suffix?: string;\n width?: string | number;\n chips?: Array<{ label: string; onRemove?: () => void }>;\n maxChipsVisible?: number;\n ref?: React.RefObject<HTMLInputElement>;\n}\n\nexport const InputField = ({ \n className,\n disabled,\n label,\n helperText,\n placeholder,\n error,\n leadingIcon,\n trailingIcon,\n optional,\n prefix,\n suffix,\n width,\n chips,\n maxChipsVisible = 2,\n ref,\n size,\n ...props \n}: InputFieldProps) => {\n return (\n <div className={styles.container} style={{ width: width || '100%' }}>\n {label && (\n <label className={clsx(styles.label, disabled && styles[\"label-disabled\"])}>\n {label}\n {optional && <span className={styles.optional}>(optional)</span>}\n </label>\n )}\n <div \n className={clsx(\n inputWrapper({ size, className }),\n chips?.length && styles['has-chips']\n )}\n >\n {leadingIcon && <span className={styles['leading-icon']}>{leadingIcon}</span>}\n {prefix && <span className={styles.prefix}>{prefix}</span>}\n <div className={styles['chip-input-container']}>\n {chips?.slice(0, maxChipsVisible).map((chip, index) => (\n <Chip\n key={index}\n variant=\"outline\"\n isDismissible={!!chip.onRemove}\n onDismiss={chip.onRemove}\n className={styles.chip}\n >\n {chip.label}\n </Chip>\n ))}\n {chips && chips.length > maxChipsVisible && (\n <span className={styles['chip-overflow']}>\n +{chips.length - maxChipsVisible}\n </span>\n )}\n <input\n ref={ref}\n className={clsx(\n styles['input-field'],\n leadingIcon && styles['has-leading-icon'],\n trailingIcon && styles['has-trailing-icon'],\n prefix && styles['has-prefix'],\n suffix && styles['has-suffix'],\n error && styles['input-error'],\n disabled && styles['input-disabled'],\n className\n )}\n aria-invalid={!!error}\n placeholder={placeholder}\n disabled={disabled}\n {...props}\n />\n </div>\n {suffix && <span className={styles.suffix}>{suffix}</span>}\n {trailingIcon && <span className={styles['trailing-icon']}>{trailingIcon}</span>}\n </div>\n {(error || helperText) && (\n <span \n className={clsx(\n styles['helper-text'], \n error && styles['helper-text-error'],\n disabled && styles['helper-text-disabled']\n )}\n >\n {error || helperText}\n </span>\n )}\n </div>\n );\n};\n\nInputField.displayName = \"InputField\";"],"names":["cva","styles","_jsxs","clsx","_jsx","chip","Chip"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist
4
4
  import { Chip } from '../chip/chip.js';
5
5
  import styles from './input-field.module.css.js';
6
6
 
7
- // Todo: Add a dropdown and chip support
7
+ // Todo: Add a dropdown support
8
8
  const inputWrapper = cva(styles.inputWrapper, {
9
9
  variants: {
10
10
  size: {
@@ -1 +1 @@
1
- {"version":3,"file":"input-field.js","sources":["../../../../v1/components/input-field/input-field.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport clsx from \"clsx\";\nimport { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { Chip } from \"../chip\";\nimport styles from \"./input-field.module.css\";\n\n// Todo: Add a dropdown and chip support\n\nconst inputWrapper = cva(styles.inputWrapper, {\n variants: {\n size: {\n small: styles[\"size-small\"],\n large: styles[\"size-large\"],\n }\n },\n defaultVariants: {\n size: \"large\",\n }\n});\n\nexport interface InputFieldProps\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"error\" | \"size\">,\n VariantProps<typeof inputWrapper> {\n label?: string;\n helperText?: string;\n error?: string;\n disabled?: boolean;\n leadingIcon?: ReactNode;\n trailingIcon?: ReactNode;\n optional?: boolean;\n prefix?: string;\n suffix?: string;\n width?: string | number;\n chips?: Array<{ label: string; onRemove?: () => void }>;\n maxChipsVisible?: number;\n ref?: React.RefObject<HTMLInputElement>;\n}\n\nexport const InputField = ({ \n className,\n disabled,\n label,\n helperText,\n placeholder,\n error,\n leadingIcon,\n trailingIcon,\n optional,\n prefix,\n suffix,\n width,\n chips,\n maxChipsVisible = 2,\n ref,\n size,\n ...props \n}: InputFieldProps) => {\n return (\n <div className={styles.container} style={{ width: width || '100%' }}>\n {label && (\n <label className={clsx(styles.label, disabled && styles[\"label-disabled\"])}>\n {label}\n {optional && <span className={styles.optional}>(optional)</span>}\n </label>\n )}\n <div \n className={clsx(\n inputWrapper({ size, className }),\n chips?.length && styles['has-chips']\n )}\n >\n {leadingIcon && <span className={styles['leading-icon']}>{leadingIcon}</span>}\n {prefix && <span className={styles.prefix}>{prefix}</span>}\n <div className={styles['chip-input-container']}>\n {chips?.slice(0, maxChipsVisible).map((chip, index) => (\n <Chip\n key={index}\n variant=\"outline\"\n isDismissible={!!chip.onRemove}\n onDismiss={chip.onRemove}\n className={styles.chip}\n >\n {chip.label}\n </Chip>\n ))}\n {chips && chips.length > maxChipsVisible && (\n <span className={styles['chip-overflow']}>\n +{chips.length - maxChipsVisible}\n </span>\n )}\n <input\n ref={ref}\n className={clsx(\n styles['input-field'],\n leadingIcon && styles['has-leading-icon'],\n trailingIcon && styles['has-trailing-icon'],\n prefix && styles['has-prefix'],\n suffix && styles['has-suffix'],\n error && styles['input-error'],\n disabled && styles['input-disabled'],\n className\n )}\n aria-invalid={!!error}\n placeholder={placeholder}\n disabled={disabled}\n {...props}\n />\n </div>\n {suffix && <span className={styles.suffix}>{suffix}</span>}\n {trailingIcon && <span className={styles['trailing-icon']}>{trailingIcon}</span>}\n </div>\n {(error || helperText) && (\n <span \n className={clsx(\n styles['helper-text'], \n error && styles['helper-text-error'],\n disabled && styles['helper-text-disabled']\n )}\n >\n {error || helperText}\n </span>\n )}\n </div>\n );\n};\n\nInputField.displayName = \"InputField\";"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"input-field.js","sources":["../../../../v1/components/input-field/input-field.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport clsx from \"clsx\";\nimport { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { Chip } from \"../chip\";\nimport styles from \"./input-field.module.css\";\n\n// Todo: Add a dropdown support\n\nconst inputWrapper = cva(styles.inputWrapper, {\n variants: {\n size: {\n small: styles[\"size-small\"],\n large: styles[\"size-large\"],\n }\n },\n defaultVariants: {\n size: \"large\",\n }\n});\n\nexport interface InputFieldProps\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"error\" | \"size\">,\n VariantProps<typeof inputWrapper> {\n label?: string;\n helperText?: string;\n error?: string;\n disabled?: boolean;\n leadingIcon?: ReactNode;\n trailingIcon?: ReactNode;\n optional?: boolean;\n prefix?: string;\n suffix?: string;\n width?: string | number;\n chips?: Array<{ label: string; onRemove?: () => void }>;\n maxChipsVisible?: number;\n ref?: React.RefObject<HTMLInputElement>;\n}\n\nexport const InputField = ({ \n className,\n disabled,\n label,\n helperText,\n placeholder,\n error,\n leadingIcon,\n trailingIcon,\n optional,\n prefix,\n suffix,\n width,\n chips,\n maxChipsVisible = 2,\n ref,\n size,\n ...props \n}: InputFieldProps) => {\n return (\n <div className={styles.container} style={{ width: width || '100%' }}>\n {label && (\n <label className={clsx(styles.label, disabled && styles[\"label-disabled\"])}>\n {label}\n {optional && <span className={styles.optional}>(optional)</span>}\n </label>\n )}\n <div \n className={clsx(\n inputWrapper({ size, className }),\n chips?.length && styles['has-chips']\n )}\n >\n {leadingIcon && <span className={styles['leading-icon']}>{leadingIcon}</span>}\n {prefix && <span className={styles.prefix}>{prefix}</span>}\n <div className={styles['chip-input-container']}>\n {chips?.slice(0, maxChipsVisible).map((chip, index) => (\n <Chip\n key={index}\n variant=\"outline\"\n isDismissible={!!chip.onRemove}\n onDismiss={chip.onRemove}\n className={styles.chip}\n >\n {chip.label}\n </Chip>\n ))}\n {chips && chips.length > maxChipsVisible && (\n <span className={styles['chip-overflow']}>\n +{chips.length - maxChipsVisible}\n </span>\n )}\n <input\n ref={ref}\n className={clsx(\n styles['input-field'],\n leadingIcon && styles['has-leading-icon'],\n trailingIcon && styles['has-trailing-icon'],\n prefix && styles['has-prefix'],\n suffix && styles['has-suffix'],\n error && styles['input-error'],\n disabled && styles['input-disabled'],\n className\n )}\n aria-invalid={!!error}\n placeholder={placeholder}\n disabled={disabled}\n {...props}\n />\n </div>\n {suffix && <span className={styles.suffix}>{suffix}</span>}\n {trailingIcon && <span className={styles['trailing-icon']}>{trailingIcon}</span>}\n </div>\n {(error || helperText) && (\n <span \n className={clsx(\n styles['helper-text'], \n error && styles['helper-text-error'],\n disabled && styles['helper-text-disabled']\n )}\n >\n {error || helperText}\n </span>\n )}\n </div>\n );\n};\n\nInputField.displayName = \"InputField\";"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Sidebar } from "./sidebar";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../v1/components/sidebar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
+ var index = require('../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.2_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18._hjslo7xm5vmo3b4sx344jkbtcq/node_modules/@radix-ui/react-collapsible/dist/index.cjs');
5
+ var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
+ var tooltip = require('../tooltip/tooltip.cjs');
7
+ var sidebar_module = require('./sidebar.module.css.cjs');
8
+
9
+ const root = index$1.cva(sidebar_module.default.root);
10
+ const SidebarRoot = ({ className, position = 'left', open, onOpenChange, children, profile, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsx(tooltip.TooltipProvider, { children: jsxRuntime.jsxRuntimeExports.jsxs(index.Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', open: open, onOpenChange: onOpenChange, "aria-label": "Navigation Sidebar", "aria-expanded": open, role: "navigation", ...props, children: [jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { message: open ? "Click to collapse" : "Click to expand", side: position === 'left' ? 'right' : 'left', asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.resizeHandle, onClick: () => onOpenChange?.(!open), role: "button", tabIndex: 0, "aria-label": open ? "Collapse sidebar" : "Expand sidebar", onKeyDown: (e) => {
11
+ if (e.key === 'Enter' || e.key === ' ') {
12
+ e.preventDefault();
13
+ onOpenChange?.(!open);
14
+ }
15
+ } }) }), children, profile && (jsxRuntime.jsxRuntimeExports.jsxs("a", { href: profile.href, className: sidebar_module.default.account, role: "button", "aria-label": `Profile: ${profile.label}`, onClick: (e) => {
16
+ if (profile.onIconClick) {
17
+ e.preventDefault();
18
+ profile.onIconClick();
19
+ }
20
+ }, children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-icon'], "aria-hidden": "true", style: { cursor: profile.onIconClick ? 'pointer' : undefined }, children: profile.icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-text'], children: profile.label })] }))] }) }));
21
+ const SidebarHeader = ({ className, logo, title, onLogoClick, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsxs("div", { ref: ref, className: sidebar_module.default.header, role: "banner", ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.logo, onClick: onLogoClick, role: onLogoClick ? "button" : undefined, tabIndex: onLogoClick ? 0 : undefined, onKeyDown: (e) => {
22
+ if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {
23
+ e.preventDefault();
24
+ onLogoClick();
25
+ }
26
+ }, style: { cursor: onLogoClick ? 'pointer' : undefined }, children: logo }), jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.title, role: "heading", "aria-level": 1, children: title })] }));
27
+ const SidebarMain = ({ className, children, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: sidebar_module.default.main, role: "group", "aria-label": "Main navigation", ...props, children: children }));
28
+ const SidebarFooter = ({ className, children, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: sidebar_module.default.footer, role: "group", "aria-label": "Footer navigation", ...props, children: children }));
29
+ const SidebarItem = ({ className, icon, children, active, disabled, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsxs("a", { ref: ref, className: sidebar_module.default['nav-item'], "data-active": active, "data-disabled": disabled, role: "menuitem", "aria-current": active ? "page" : undefined, "aria-disabled": disabled, ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-icon'], "aria-hidden": "true", children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-text'], children: children })] }));
30
+ const SidebarNavigationGroup = ({ className, name, icon, children, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsxs("div", { ref: ref, role: "group", "aria-label": name, ...props, children: [jsxRuntime.jsxRuntimeExports.jsxs("div", { className: sidebar_module.default['nav-group-header'], children: [icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-icon'], children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-group-name'], children: name })] }), jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default['nav-group-items'], children: children })] }));
31
+ SidebarRoot.displayName = "Sidebar.Root";
32
+ SidebarHeader.displayName = "Sidebar.Header";
33
+ SidebarMain.displayName = "Sidebar.Main";
34
+ SidebarFooter.displayName = "Sidebar.Footer";
35
+ SidebarItem.displayName = "Sidebar.Item";
36
+ SidebarNavigationGroup.displayName = "Sidebar.Group";
37
+ const Sidebar = {
38
+ Root: SidebarRoot,
39
+ Header: SidebarHeader,
40
+ Main: SidebarMain,
41
+ Footer: SidebarFooter,
42
+ Item: SidebarItem,
43
+ Group: SidebarNavigationGroup,
44
+ };
45
+
46
+ exports.Sidebar = Sidebar;
47
+ //# sourceMappingURL=sidebar.cjs.map