@accelint/design-toolkit 2.4.3 → 2.6.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 (283) hide show
  1. package/dist/components/accordion/index.d.ts +1 -1
  2. package/dist/components/accordion/index.js +1 -1
  3. package/dist/components/accordion/index.js.map +1 -1
  4. package/dist/components/accordion/styles.d.ts +1 -5
  5. package/dist/components/accordion/styles.js +1 -1
  6. package/dist/components/accordion/styles.js.map +1 -1
  7. package/dist/components/accordion/types.d.ts +9 -10
  8. package/dist/components/avatar/index.d.ts +4 -2
  9. package/dist/components/avatar/index.js +1 -1
  10. package/dist/components/avatar/index.js.map +1 -1
  11. package/dist/components/avatar/styles.d.ts +16 -15
  12. package/dist/components/avatar/styles.js +1 -1
  13. package/dist/components/avatar/styles.js.map +1 -1
  14. package/dist/components/avatar/types.d.ts +7 -7
  15. package/dist/components/badge/index.d.ts +3 -2
  16. package/dist/components/badge/index.js +1 -1
  17. package/dist/components/badge/index.js.map +1 -1
  18. package/dist/components/badge/styles.js +1 -1
  19. package/dist/components/badge/styles.js.map +1 -1
  20. package/dist/components/badge/types.d.ts +3 -4
  21. package/dist/components/box/index.js +1 -1
  22. package/dist/components/box/index.js.map +1 -1
  23. package/dist/components/button/index.d.ts +6 -4
  24. package/dist/components/button/index.js +1 -1
  25. package/dist/components/button/index.js.map +1 -1
  26. package/dist/components/button/styles.d.ts +25 -24
  27. package/dist/components/button/styles.js +1 -1
  28. package/dist/components/button/styles.js.map +1 -1
  29. package/dist/components/button/types.d.ts +3 -5
  30. package/dist/components/checkbox/index.js +1 -1
  31. package/dist/components/checkbox/index.js.map +1 -1
  32. package/dist/components/checkbox/styles.d.ts +19 -18
  33. package/dist/components/checkbox/styles.js +1 -1
  34. package/dist/components/checkbox/styles.js.map +1 -1
  35. package/dist/components/chip/index.d.ts +4 -2
  36. package/dist/components/chip/index.js +1 -1
  37. package/dist/components/chip/index.js.map +1 -1
  38. package/dist/components/chip/styles.d.ts +70 -69
  39. package/dist/components/chip/styles.js +1 -1
  40. package/dist/components/chip/styles.js.map +1 -1
  41. package/dist/components/chip/types.d.ts +5 -5
  42. package/dist/components/classification-badge/index.d.ts +3 -2
  43. package/dist/components/classification-badge/index.js +1 -1
  44. package/dist/components/classification-badge/index.js.map +1 -1
  45. package/dist/components/classification-badge/styles.js +1 -1
  46. package/dist/components/classification-badge/styles.js.map +1 -1
  47. package/dist/components/classification-badge/types.d.ts +3 -4
  48. package/dist/components/classification-banner/index.d.ts +3 -2
  49. package/dist/components/classification-banner/index.js +1 -1
  50. package/dist/components/classification-banner/index.js.map +1 -1
  51. package/dist/components/classification-banner/styles.js +1 -1
  52. package/dist/components/classification-banner/styles.js.map +1 -1
  53. package/dist/components/classification-banner/types.d.ts +3 -4
  54. package/dist/components/color-picker/index.d.ts +45 -15
  55. package/dist/components/color-picker/index.js +1 -1
  56. package/dist/components/color-picker/index.js.map +1 -1
  57. package/dist/components/color-picker/styles.d.ts +42 -0
  58. package/dist/components/color-picker/styles.js +2 -0
  59. package/dist/components/color-picker/styles.js.map +1 -0
  60. package/dist/components/color-picker/types.d.ts +13 -0
  61. package/dist/components/color-picker/types.js +2 -0
  62. package/dist/components/color-picker/types.js.map +1 -0
  63. package/dist/components/combobox-field/index.d.ts +18 -0
  64. package/dist/components/combobox-field/index.js +2 -0
  65. package/dist/components/combobox-field/index.js.map +1 -0
  66. package/dist/components/combobox-field/styles.d.ts +72 -0
  67. package/dist/components/combobox-field/styles.js +2 -0
  68. package/dist/components/combobox-field/styles.js.map +1 -0
  69. package/dist/components/combobox-field/types.d.ts +28 -0
  70. package/dist/components/combobox-field/types.js +2 -0
  71. package/dist/components/combobox-field/types.js.map +1 -0
  72. package/dist/components/date-field/index.d.ts +8 -24
  73. package/dist/components/date-field/index.js +1 -1
  74. package/dist/components/date-field/index.js.map +1 -1
  75. package/dist/components/date-field/styles.d.ts +69 -0
  76. package/dist/components/date-field/styles.js +2 -0
  77. package/dist/components/date-field/styles.js.map +1 -0
  78. package/dist/components/date-field/types.d.ts +29 -0
  79. package/dist/components/date-field/types.js +2 -0
  80. package/dist/components/date-field/types.js.map +1 -0
  81. package/dist/components/details-list/index.d.ts +59 -0
  82. package/dist/components/details-list/index.js +2 -0
  83. package/dist/components/details-list/index.js.map +1 -0
  84. package/dist/components/details-list/styles.d.ts +65 -0
  85. package/dist/components/details-list/styles.js +2 -0
  86. package/dist/components/details-list/styles.js.map +1 -0
  87. package/dist/components/details-list/types.d.ts +16 -0
  88. package/dist/components/details-list/types.js +2 -0
  89. package/dist/components/details-list/types.js.map +1 -0
  90. package/dist/components/dialog/index.d.ts +1 -0
  91. package/dist/components/dialog/index.js +1 -1
  92. package/dist/components/dialog/index.js.map +1 -1
  93. package/dist/components/drawer/context.d.ts +13 -0
  94. package/dist/components/drawer/context.js +2 -0
  95. package/dist/components/drawer/context.js.map +1 -0
  96. package/dist/components/drawer/index.d.ts +48 -0
  97. package/dist/components/drawer/index.js +2 -0
  98. package/dist/components/drawer/index.js.map +1 -0
  99. package/dist/components/drawer/state.d.ts +26 -0
  100. package/dist/components/drawer/state.js +2 -0
  101. package/dist/components/drawer/state.js.map +1 -0
  102. package/dist/components/drawer/styles.d.ts +118 -0
  103. package/dist/components/drawer/styles.js +2 -0
  104. package/dist/components/drawer/styles.js.map +1 -0
  105. package/dist/components/drawer/types.d.ts +279 -0
  106. package/dist/components/drawer/types.js +2 -0
  107. package/dist/components/drawer/types.js.map +1 -0
  108. package/dist/components/hero/index.d.ts +45 -0
  109. package/dist/components/hero/index.js +2 -0
  110. package/dist/components/hero/index.js.map +1 -0
  111. package/dist/components/hero/styles.d.ts +48 -0
  112. package/dist/components/hero/styles.js +2 -0
  113. package/dist/components/hero/styles.js.map +1 -0
  114. package/dist/components/hero/types.d.ts +13 -0
  115. package/dist/components/hero/types.js +2 -0
  116. package/dist/components/hero/types.js.map +1 -0
  117. package/dist/components/hotkey/index.d.ts +25 -0
  118. package/dist/components/hotkey/index.js +2 -0
  119. package/dist/components/hotkey/index.js.map +1 -0
  120. package/dist/components/hotkey/styles.d.ts +53 -0
  121. package/dist/components/hotkey/styles.js +2 -0
  122. package/dist/components/hotkey/styles.js.map +1 -0
  123. package/dist/components/hotkey/types.d.ts +8 -0
  124. package/dist/components/hotkey/types.js +2 -0
  125. package/dist/components/hotkey/types.js.map +1 -0
  126. package/dist/components/icon/index.d.ts +3 -2
  127. package/dist/components/icon/index.js +1 -1
  128. package/dist/components/icon/index.js.map +1 -1
  129. package/dist/components/icon/styles.js +1 -1
  130. package/dist/components/icon/styles.js.map +1 -1
  131. package/dist/components/icon/types.d.ts +4 -5
  132. package/dist/components/input/index.d.ts +1 -0
  133. package/dist/components/input/index.js +1 -1
  134. package/dist/components/input/index.js.map +1 -1
  135. package/dist/components/input/styles.d.ts +2 -24
  136. package/dist/components/input/styles.js +1 -1
  137. package/dist/components/input/styles.js.map +1 -1
  138. package/dist/components/input/types.d.ts +1 -0
  139. package/dist/components/label/index.d.ts +3 -2
  140. package/dist/components/label/index.js +1 -1
  141. package/dist/components/label/index.js.map +1 -1
  142. package/dist/components/label/styles.js +1 -1
  143. package/dist/components/label/styles.js.map +1 -1
  144. package/dist/components/label/types.d.ts +2 -3
  145. package/dist/components/menu/index.d.ts +16 -21
  146. package/dist/components/menu/index.js +1 -1
  147. package/dist/components/menu/index.js.map +1 -1
  148. package/dist/components/menu/styles.d.ts +9 -6
  149. package/dist/components/menu/styles.js +1 -1
  150. package/dist/components/menu/styles.js.map +1 -1
  151. package/dist/components/menu/types.d.ts +9 -2
  152. package/dist/components/options/index.d.ts +28 -22
  153. package/dist/components/options/index.js +1 -1
  154. package/dist/components/options/index.js.map +1 -1
  155. package/dist/components/options/styles.d.ts +72 -0
  156. package/dist/components/options/styles.js +2 -0
  157. package/dist/components/options/styles.js.map +1 -0
  158. package/dist/components/options/types.d.ts +29 -0
  159. package/dist/components/options/types.js +2 -0
  160. package/dist/components/options/types.js.map +1 -0
  161. package/dist/components/popover/index.js +1 -1
  162. package/dist/components/popover/index.js.map +1 -1
  163. package/dist/components/popover/styles.d.ts +16 -15
  164. package/dist/components/popover/styles.js +1 -1
  165. package/dist/components/popover/styles.js.map +1 -1
  166. package/dist/components/query-builder/action-element.js +1 -1
  167. package/dist/components/query-builder/action-element.js.map +1 -1
  168. package/dist/components/query-builder/constants.js +1 -1
  169. package/dist/components/query-builder/constants.js.map +1 -1
  170. package/dist/components/query-builder/group.js +1 -1
  171. package/dist/components/query-builder/group.js.map +1 -1
  172. package/dist/components/query-builder/index.d.ts +5 -20
  173. package/dist/components/query-builder/index.js +1 -1
  174. package/dist/components/query-builder/index.js.map +1 -1
  175. package/dist/components/query-builder/rule.js +1 -1
  176. package/dist/components/query-builder/rule.js.map +1 -1
  177. package/dist/components/query-builder/types.d.ts +22 -0
  178. package/dist/components/query-builder/types.js +2 -0
  179. package/dist/components/query-builder/types.js.map +1 -0
  180. package/dist/components/query-builder/utils.js +1 -1
  181. package/dist/components/query-builder/utils.js.map +1 -1
  182. package/dist/components/query-builder/value-editor.js +1 -1
  183. package/dist/components/query-builder/value-editor.js.map +1 -1
  184. package/dist/components/query-builder/value-selector.js +1 -1
  185. package/dist/components/query-builder/value-selector.js.map +1 -1
  186. package/dist/components/radio/index.js +1 -1
  187. package/dist/components/radio/index.js.map +1 -1
  188. package/dist/components/radio/styles.d.ts +19 -18
  189. package/dist/components/radio/styles.js +1 -1
  190. package/dist/components/radio/styles.js.map +1 -1
  191. package/dist/components/radio/types.d.ts +2 -3
  192. package/dist/components/search-field/index.d.ts +56 -15
  193. package/dist/components/search-field/index.js +1 -1
  194. package/dist/components/search-field/index.js.map +1 -1
  195. package/dist/components/search-field/styles.d.ts +53 -0
  196. package/dist/components/search-field/styles.js +2 -0
  197. package/dist/components/search-field/styles.js.map +1 -0
  198. package/dist/components/search-field/types.d.ts +25 -0
  199. package/dist/components/search-field/types.js +2 -0
  200. package/dist/components/search-field/types.js.map +1 -0
  201. package/dist/components/select-field/index.d.ts +23 -0
  202. package/dist/components/select-field/index.js +2 -0
  203. package/dist/components/select-field/index.js.map +1 -0
  204. package/dist/components/select-field/styles.d.ts +60 -0
  205. package/dist/components/select-field/styles.js +2 -0
  206. package/dist/components/select-field/styles.js.map +1 -0
  207. package/dist/components/select-field/types.d.ts +26 -0
  208. package/dist/components/select-field/types.js +2 -0
  209. package/dist/components/select-field/types.js.map +1 -0
  210. package/dist/components/skeleton/index.d.ts +42 -0
  211. package/dist/components/skeleton/index.js +2 -0
  212. package/dist/components/skeleton/index.js.map +1 -0
  213. package/dist/components/skeleton/styles.d.ts +23 -0
  214. package/dist/components/skeleton/styles.js +2 -0
  215. package/dist/components/skeleton/styles.js.map +1 -0
  216. package/dist/components/skeleton/types.d.ts +8 -0
  217. package/dist/components/skeleton/types.js +2 -0
  218. package/dist/components/skeleton/types.js.map +1 -0
  219. package/dist/components/slider/index.js +1 -1
  220. package/dist/components/slider/index.js.map +1 -1
  221. package/dist/components/switch/index.d.ts +3 -2
  222. package/dist/components/switch/index.js +1 -1
  223. package/dist/components/switch/index.js.map +1 -1
  224. package/dist/components/switch/styles.d.ts +13 -12
  225. package/dist/components/switch/styles.js +1 -1
  226. package/dist/components/switch/styles.js.map +1 -1
  227. package/dist/components/switch/types.d.ts +2 -3
  228. package/dist/components/tabs/index.js +1 -1
  229. package/dist/components/tabs/index.js.map +1 -1
  230. package/dist/components/text-area-field/index.d.ts +4 -3
  231. package/dist/components/text-area-field/index.js +1 -1
  232. package/dist/components/text-area-field/index.js.map +1 -1
  233. package/dist/components/text-area-field/styles.d.ts +19 -18
  234. package/dist/components/text-area-field/styles.js +1 -1
  235. package/dist/components/text-area-field/styles.js.map +1 -1
  236. package/dist/components/text-area-field/types.d.ts +2 -3
  237. package/dist/components/text-field/index.d.ts +4 -2
  238. package/dist/components/text-field/index.js +1 -1
  239. package/dist/components/text-field/index.js.map +1 -1
  240. package/dist/components/text-field/styles.d.ts +19 -18
  241. package/dist/components/text-field/styles.js +1 -1
  242. package/dist/components/text-field/styles.js.map +1 -1
  243. package/dist/components/text-field/types.d.ts +4 -4
  244. package/dist/components/tooltip/index.d.ts +14 -28
  245. package/dist/components/tooltip/index.js +1 -1
  246. package/dist/components/tooltip/index.js.map +1 -1
  247. package/dist/components/tooltip/styles.d.ts +5 -0
  248. package/dist/components/tooltip/styles.js +2 -0
  249. package/dist/components/tooltip/styles.js.map +1 -0
  250. package/dist/components/tooltip/types.d.ts +8 -0
  251. package/dist/components/tooltip/types.js +2 -0
  252. package/dist/components/tooltip/types.js.map +1 -0
  253. package/dist/components/view-stack/index.d.ts +28 -0
  254. package/dist/components/view-stack/index.js +2 -0
  255. package/dist/components/view-stack/index.js.map +1 -0
  256. package/dist/components/view-stack/types.d.ts +58 -0
  257. package/dist/components/view-stack/types.js +2 -0
  258. package/dist/components/view-stack/types.js.map +1 -0
  259. package/dist/icons/catalog.js +1 -1
  260. package/dist/index.css +20 -0
  261. package/dist/index.d.ts +60 -27
  262. package/dist/index.js +1 -1
  263. package/dist/lib/react.d.ts +13 -12
  264. package/dist/lib/react.js +4 -4
  265. package/dist/lib/react.js.map +1 -1
  266. package/dist/lib/types.d.ts +6 -2
  267. package/dist/lib/utils.js +1 -1
  268. package/dist/lib/utils.js.map +1 -1
  269. package/dist/metafile-esm.json +1 -1
  270. package/dist/styles.css +1476 -321
  271. package/dist/tokens/index.js +1 -1
  272. package/dist/tokens/index.js.map +1 -1
  273. package/dist/variants/variants.css +6 -0
  274. package/package.json +84 -56
  275. package/dist/components/combobox/index.d.ts +0 -32
  276. package/dist/components/combobox/index.js +0 -2
  277. package/dist/components/combobox/index.js.map +0 -1
  278. package/dist/components/options-item/index.d.ts +0 -30
  279. package/dist/components/options-item/index.js +0 -2
  280. package/dist/components/options-item/index.js.map +0 -1
  281. package/dist/components/query-builder/example-configuration.d.ts +0 -30
  282. package/dist/components/query-builder/example-configuration.js +0 -2
  283. package/dist/components/query-builder/example-configuration.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/rule.tsx"],"names":["Rule","props","rule","useRule","context","useContext","classNames","disabled","operators","outerClassName","field","operator","value","valueSource","FieldSelectorControlElement","OperatorSelectorControlElement","ValueSourceSelectorControlElement","ValueEditorControlElement","CloneRuleActionControlElement","LockRuleActionControlElement","RemoveRuleActionControlElement","fields","listsAsArrays","parseNumbers","showCloneButtons","showLockButtons","fieldData","generateOnChangeHandler","inputType","parentDisabled","path","translations","valueEditorType","valueEditorSeparator","values","valueSources","valueSourceOptions","validationResult","cloneRule","useStopEventPropagation","toggleLockRule","removeRule","coreRuleProps","renderValueSources","jsxs","Fragment","jsx","TestID"],"mappings":"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","file":"rule.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useContext } from 'react';\nimport {\n type RuleProps,\n TestID,\n useRule,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport type { QueryBuilderContextType } from './';\n\nexport function Rule(props: RuleProps) {\n const rule = useRule(props);\n const context: QueryBuilderContextType = useContext(props.context);\n\n const {\n classNames,\n disabled,\n operators,\n outerClassName,\n rule: { field, operator, value, valueSource },\n schema: {\n controls: {\n fieldSelector: FieldSelectorControlElement,\n operatorSelector: OperatorSelectorControlElement,\n valueSourceSelector: ValueSourceSelectorControlElement,\n valueEditor: ValueEditorControlElement,\n cloneRuleAction: CloneRuleActionControlElement,\n lockRuleAction: LockRuleActionControlElement,\n removeRuleAction: RemoveRuleActionControlElement,\n },\n fields,\n listsAsArrays,\n parseNumbers,\n showCloneButtons,\n showLockButtons,\n },\n fieldData,\n generateOnChangeHandler,\n inputType,\n parentDisabled,\n path,\n translations,\n valueEditorType,\n valueEditorSeparator,\n values,\n valueSources,\n valueSourceOptions,\n validationResult,\n } = rule;\n\n const cloneRule = useStopEventPropagation(rule.cloneRule);\n const toggleLockRule = useStopEventPropagation(rule.toggleLockRule);\n const removeRule = useStopEventPropagation(rule.removeRule);\n\n const coreRuleProps = {\n context,\n disabled,\n level: path.length,\n path,\n schema: rule.schema,\n validation: validationResult,\n };\n\n const renderValueSources =\n !['null', 'notNull'].includes(operator) && valueSources.length > 1;\n\n return (\n <>\n {context.showRuleLines && <span className='rule-lines relative' />}\n <div className={outerClassName}>\n <FieldSelectorControlElement\n testID={TestID.fields}\n options={fields}\n title={translations.fields.title}\n value={field}\n operator={operator}\n className={classNames.fields}\n handleOnChange={generateOnChangeHandler('field')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <OperatorSelectorControlElement\n testID={TestID.operators}\n field={field}\n fieldData={rule.fieldData}\n title={rule.translations.operators.title}\n options={operators}\n value={operator}\n className={rule.classNames.operators}\n handleOnChange={rule.generateOnChangeHandler('operator')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <ValueEditorControlElement\n testID={TestID.valueEditor}\n field={field}\n fieldData={fieldData}\n title={translations.value.title}\n operator={operator}\n value={value}\n valueSource={valueSource ?? 'value'}\n type={valueEditorType}\n inputType={inputType}\n values={values}\n listsAsArrays={listsAsArrays}\n parseNumbers={parseNumbers}\n separator={valueEditorSeparator}\n className={classNames.value}\n handleOnChange={generateOnChangeHandler('value')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n {renderValueSources && (\n <ValueSourceSelectorControlElement\n testID={TestID.valueSourceSelector}\n field={field}\n fieldData={fieldData}\n title={translations.valueSourceSelector.title}\n options={valueSourceOptions}\n value={valueSource ?? 'value'}\n className={classNames.valueSource}\n handleOnChange={generateOnChangeHandler('valueSource')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n <div className={outerClassName}>\n <RemoveRuleActionControlElement\n testID={TestID.removeRule}\n label={translations.removeRule.label ?? 'remove'}\n title={translations.removeRule.title ?? 'remove'}\n className={classNames.removeRule}\n handleOnClick={removeRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n {showCloneButtons && (\n <CloneRuleActionControlElement\n testID={TestID.cloneRule}\n label={translations.cloneRule.label ?? 'clone'}\n title={translations.cloneRule.title ?? 'clone'}\n className={classNames.cloneRule}\n handleOnClick={cloneRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n {showLockButtons && (\n <LockRuleActionControlElement\n testID={TestID.lockRule}\n label={translations.lockRule.label ?? 'lock'}\n title={translations.lockRule.title ?? 'lock'}\n className={classNames.lockRule}\n handleOnClick={toggleLockRule}\n disabledTranslation={\n parentDisabled ? undefined : translations.lockRuleDisabled\n }\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/rule.tsx"],"names":["Rule","props","rule","useRule","context","useContext","classNames","disabled","operators","outerClassName","field","operator","value","valueSource","FieldSelectorControlElement","OperatorSelectorControlElement","ValueSourceSelectorControlElement","ValueEditorControlElement","CloneRuleActionControlElement","LockRuleActionControlElement","RemoveRuleActionControlElement","fields","listsAsArrays","parseNumbers","showCloneButtons","showLockButtons","fieldData","generateOnChangeHandler","inputType","parentDisabled","path","translations","valueEditorType","valueEditorSeparator","values","valueSources","valueSourceOptions","validationResult","cloneRule","useStopEventPropagation","toggleLockRule","removeRule","coreRuleProps","renderValueSources","jsxs","Fragment","jsx","TestID"],"mappings":"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","file":"rule.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { useContext } from 'react';\nimport {\n type RuleProps,\n TestID,\n useRule,\n useStopEventPropagation,\n} from 'react-querybuilder';\nimport type { QueryBuilderContextType } from './types';\n\nexport function Rule(props: RuleProps) {\n const rule = useRule(props);\n const context: QueryBuilderContextType = useContext(props.context);\n\n const {\n classNames,\n disabled,\n operators,\n outerClassName,\n rule: { field, operator, value, valueSource },\n schema: {\n controls: {\n fieldSelector: FieldSelectorControlElement,\n operatorSelector: OperatorSelectorControlElement,\n valueSourceSelector: ValueSourceSelectorControlElement,\n valueEditor: ValueEditorControlElement,\n cloneRuleAction: CloneRuleActionControlElement,\n lockRuleAction: LockRuleActionControlElement,\n removeRuleAction: RemoveRuleActionControlElement,\n },\n fields,\n listsAsArrays,\n parseNumbers,\n showCloneButtons,\n showLockButtons,\n },\n fieldData,\n generateOnChangeHandler,\n inputType,\n parentDisabled,\n path,\n translations,\n valueEditorType,\n valueEditorSeparator,\n values,\n valueSources,\n valueSourceOptions,\n validationResult,\n } = rule;\n\n const cloneRule = useStopEventPropagation(rule.cloneRule);\n const toggleLockRule = useStopEventPropagation(rule.toggleLockRule);\n const removeRule = useStopEventPropagation(rule.removeRule);\n\n const coreRuleProps = {\n context,\n disabled,\n level: path.length,\n path,\n schema: rule.schema,\n validation: validationResult,\n };\n\n const renderValueSources =\n !['null', 'notNull'].includes(operator) && valueSources.length > 1;\n\n return (\n <>\n {context.showRuleLines && <span className='rule-lines relative' />}\n <div className={outerClassName}>\n <FieldSelectorControlElement\n testID={TestID.fields}\n options={fields}\n title={translations.fields.title}\n value={field}\n operator={operator}\n className={classNames.fields}\n handleOnChange={generateOnChangeHandler('field')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <OperatorSelectorControlElement\n testID={TestID.operators}\n field={field}\n fieldData={rule.fieldData}\n title={rule.translations.operators.title}\n options={operators}\n value={operator}\n className={rule.classNames.operators}\n handleOnChange={rule.generateOnChangeHandler('operator')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n <ValueEditorControlElement\n testID={TestID.valueEditor}\n field={field}\n fieldData={fieldData}\n title={translations.value.title}\n operator={operator}\n value={value}\n valueSource={valueSource ?? 'value'}\n type={valueEditorType}\n inputType={inputType}\n values={values}\n listsAsArrays={listsAsArrays}\n parseNumbers={parseNumbers}\n separator={valueEditorSeparator}\n className={classNames.value}\n handleOnChange={generateOnChangeHandler('value')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n {renderValueSources && (\n <ValueSourceSelectorControlElement\n testID={TestID.valueSourceSelector}\n field={field}\n fieldData={fieldData}\n title={translations.valueSourceSelector.title}\n options={valueSourceOptions}\n value={valueSource ?? 'value'}\n className={classNames.valueSource}\n handleOnChange={generateOnChangeHandler('valueSource')}\n rule={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n <div className={outerClassName}>\n <RemoveRuleActionControlElement\n testID={TestID.removeRule}\n label={translations.removeRule.label ?? 'remove'}\n title={translations.removeRule.title ?? 'remove'}\n className={classNames.removeRule}\n handleOnClick={removeRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n {showCloneButtons && (\n <CloneRuleActionControlElement\n testID={TestID.cloneRule}\n label={translations.cloneRule.label ?? 'clone'}\n title={translations.cloneRule.title ?? 'clone'}\n className={classNames.cloneRule}\n handleOnClick={cloneRule}\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n {showLockButtons && (\n <LockRuleActionControlElement\n testID={TestID.lockRule}\n label={translations.lockRule.label ?? 'lock'}\n title={translations.lockRule.title ?? 'lock'}\n className={classNames.lockRule}\n handleOnClick={toggleLockRule}\n disabledTranslation={\n parentDisabled ? undefined : translations.lockRuleDisabled\n }\n ruleOrGroup={rule.rule}\n {...coreRuleProps}\n />\n )}\n </div>\n </>\n );\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { ReactElement } from 'react';
2
+ import { QueryBuilderProps as QueryBuilderProps$1, RuleGroupType as RuleGroupType$1, FullField, FullOperator, FullCombinator, Classnames, Field as Field$1, ValueEditorProps } from 'react-querybuilder';
3
+ import { LiteralUnion } from 'type-fest';
4
+
5
+ type RuleGroupType = RuleGroupType$1;
6
+ type Field = Field$1;
7
+ type DefaultRQBProps = QueryBuilderProps$1<RuleGroupType, FullField, FullOperator, FullCombinator>;
8
+ type QueryBuilderValueEditors = Record<LiteralUnion<Exclude<ValueEditorProps['type'], null | undefined | 'multiselect'>, string>, (props: ValueEditorProps) => ReactElement>;
9
+ /**
10
+ * Omitted props are currently unsupported functionality
11
+ */
12
+ type QueryBuilderProps = Partial<Omit<DefaultRQBProps, 'showCombinatorsBetweenRules' | 'independentCombinators' | 'listsAsArrays' | 'enableDragAndDrop' | 'showNotToggle' | 'showShiftActions'> & {
13
+ orientation?: 'horizontal' | 'vertical';
14
+ showRuleLines?: boolean;
15
+ }>;
16
+ /**
17
+ * Omitted classnames are for unsupported features
18
+ */
19
+ type ClassNames = Omit<Classnames, 'betweenRules' | 'branches' | 'dndDragging' | 'dndOver' | 'dndCopy' | 'dndGroup' | 'dragHandle' | 'shiftActions' | 'notToggle'>;
20
+ type QueryBuilderContextType = Pick<QueryBuilderProps, 'showRuleLines' | 'orientation'>;
21
+
22
+ export type { ClassNames, DefaultRQBProps, Field, QueryBuilderContextType, QueryBuilderProps, QueryBuilderValueEditors, RuleGroupType };
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -1,2 +1,2 @@
1
- import {noop}from'@accelint/core';var s=(t,o)=>{if(!o)return {valid:true};let e=o(t);return typeof e=="boolean"?{valid:e}:{valid:e.valid,reasons:e.valid?[]:e.reasons}},n=t=>({...t,preventDefault:noop,stopPropagation:noop});export{s as getValidationResult,n as pressToMouseEvent};//# sourceMappingURL=utils.js.map
1
+ import {noop}from'@accelint/core';const s=(t,o)=>{if(!o)return {valid:true};const e=o(t);return typeof e=="boolean"?{valid:e}:{valid:e.valid,reasons:e.valid?[]:e.reasons}},n=t=>({...t,preventDefault:noop,stopPropagation:noop});export{s as getValidationResult,n as pressToMouseEvent};//# sourceMappingURL=utils.js.map
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/utils.ts"],"names":["getValidationResult","rule","validator","result","pressToMouseEvent","event","noop"],"mappings":"kCAsBO,IAAMA,EAAsB,CACjCC,CAAAA,CACAC,CAAAA,GACqB,CACrB,GAAI,CAACA,EACH,OAAO,CAAE,KAAA,CAAO,IAAK,CAAA,CAGvB,IAAMC,EAASD,CAAAA,CAAUD,CAAI,CAAA,CAE7B,OAAI,OAAOE,CAAAA,EAAW,UACb,CAAE,KAAA,CAAOA,CAAO,CAAA,CAGlB,CACL,KAAA,CAAOA,EAAO,KAAA,CACd,OAAA,CAASA,CAAAA,CAAO,KAAA,CAAQ,EAAC,CAAIA,EAAO,OACtC,CACF,CAAA,CAQaC,CAAAA,CAAqBC,CAAAA,GAC/B,CACC,GAAGA,CAAAA,CACH,cAAA,CAAgBC,IAAAA,CAChB,eAAA,CAAiBA,IACnB,CAAA","file":"utils.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { noop } from '@accelint/core';\nimport type { PressEvent } from '@react-types/shared';\nimport type { MouseEvent } from 'react';\nimport type {\n RuleType,\n RuleValidator,\n ValidationResult,\n} from 'react-querybuilder';\n\nexport const getValidationResult = (\n rule: RuleType,\n validator?: RuleValidator,\n): ValidationResult => {\n if (!validator) {\n return { valid: true };\n }\n\n const result = validator(rule);\n\n if (typeof result === 'boolean') {\n return { valid: result };\n }\n\n return {\n valid: result.valid,\n reasons: result.valid ? [] : result.reasons,\n };\n};\n\n/**\n * This is required because the design system Button supports an onPress event but\n * QueryBuilder provides a callback that expects a MouseEvent and will error\n * out if preventDefault is not available as a method.\n * @param event\n */\nexport const pressToMouseEvent = (event: PressEvent) =>\n ({\n ...event,\n preventDefault: noop,\n stopPropagation: noop,\n }) as unknown as MouseEvent;\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/utils.ts"],"names":["getValidationResult","rule","validator","result","pressToMouseEvent","event","noop"],"mappings":"kCAsBO,MAAMA,EAAsB,CACjCC,CAAAA,CACAC,CAAAA,GACqB,CACrB,GAAI,CAACA,EACH,OAAO,CAAE,KAAA,CAAO,IAAK,CAAA,CAGvB,MAAMC,EAASD,CAAAA,CAAUD,CAAI,CAAA,CAE7B,OAAI,OAAOE,CAAAA,EAAW,UACb,CAAE,KAAA,CAAOA,CAAO,CAAA,CAGlB,CACL,KAAA,CAAOA,EAAO,KAAA,CACd,OAAA,CAASA,CAAAA,CAAO,KAAA,CAAQ,EAAC,CAAIA,EAAO,OACtC,CACF,CAAA,CAQaC,CAAAA,CAAqBC,CAAAA,GAC/B,CACC,GAAGA,CAAAA,CACH,cAAA,CAAgBC,IAAAA,CAChB,eAAA,CAAiBA,IACnB,CAAA","file":"utils.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { noop } from '@accelint/core';\nimport type { PressEvent } from '@react-types/shared';\nimport type { MouseEvent } from 'react';\nimport type {\n RuleType,\n RuleValidator,\n ValidationResult,\n} from 'react-querybuilder';\n\nexport const getValidationResult = (\n rule: RuleType,\n validator?: RuleValidator,\n): ValidationResult => {\n if (!validator) {\n return { valid: true };\n }\n\n const result = validator(rule);\n\n if (typeof result === 'boolean') {\n return { valid: result };\n }\n\n return {\n valid: result.valid,\n reasons: result.valid ? [] : result.reasons,\n };\n};\n\n/**\n * This is required because the design system Button supports an onPress event but\n * QueryBuilder provides a callback that expects a MouseEvent and will error\n * out if preventDefault is not available as a method.\n * @param event\n */\nexport const pressToMouseEvent = (event: PressEvent) =>\n ({\n ...event,\n preventDefault: noop,\n stopPropagation: noop,\n }) as unknown as MouseEvent;\n"]}
@@ -1,2 +1,2 @@
1
- import {useCallback}from'react';import {useValueEditor}from'react-querybuilder';import {Checkbox}from'../checkbox/index.js';import {Radio}from'../radio/index.js';import {Switch}from'../switch/index.js';import {TextAreaField}from'../text-area-field/index.js';import {TextField}from'../text-field/index.js';import {multiValueOperators}from'./constants.js';import {getValidationResult}from'./utils.js';import {ValueSelector}from'./value-selector.js';import {jsx,Fragment}from'react/jsx-runtime';function k({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,value:r}){let{valid:l}=getValidationResult(o,t);return jsx(Checkbox,{isDisabled:a,isSelected:r,onChange:i,"aria-invalid":!l,"aria-label":e})}function x({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,value:r,values:l}){let{valid:d}=getValidationResult(o,t);return jsx(Radio.Group,{value:r,isDisabled:a,onChange:i,"aria-invalid":!d,"aria-label":e,"aria-labelledby":e,children:l?.map(n=>jsx(Radio,{value:n.value,children:n.label},n.name))})}var R=[];function S({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,type:r,value:l,values:d=R,...n}){let{valid:c}=getValidationResult(o,t);return jsx(ValueSelector,{...n,disabled:a,multiple:r==="multiselect",options:d,title:e,validation:!c,value:l,handleOnChange:i,"aria-labelledby":e})}function T({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,value:r}){let{valid:l}=getValidationResult(o,t);return jsx(Switch,{isDisabled:a,isSelected:!!r,onChange:i,"aria-invalid":!l,"aria-label":e,"aria-labelledby":e})}function w({disabled:a,fieldData:{name:e,placeholder:t,validator:i},handleOnChange:o,inputType:r,rule:l,value:d}){let{valid:n,reasons:c}=getValidationResult(l,i);return jsx(TextField,{inputProps:{placeholder:t},type:r??"text",size:"small",value:d,isDisabled:a,isInvalid:!n,onChange:o,"aria-invalid":!n,"aria-label":e,"aria-labelledby":e,errorMessage:c?.join("/n")})}function I({disabled:a,fieldData:{name:e,placeholder:t,validator:i},handleOnChange:o,rule:r,value:l}){let{valid:d,reasons:n}=getValidationResult(r,i);return jsx(TextAreaField,{size:"small",errorMessage:n?.join("/n"),inputProps:{placeholder:t},value:l,isDisabled:a,isInvalid:!d,onChange:o,"aria-label":e,"aria-invalid":!d,"aria-labelledby":e})}var O={checkbox:k,radio:x,select:S,switch:T,text:w,textarea:I};function q(a){let{fieldData:{name:e,valueEditorType:t},operator:i,rule:o}=a,{valueAsArray:r,multiValueHandler:l}=useValueEditor({...a,skipHook:true}),d=useCallback(s=>({...o,value:r[s]}),[o,r]),n=useCallback(s=>l(s,0),[l]),c=useCallback(s=>l(s,1),[l]),E=(typeof t=="function"?t(i):t)??"text",f=O?.[E];return i==="null"||i==="notNull"||!f?null:multiValueOperators.includes(i)?jsx(Fragment,{children:["start","end"].map((s,v)=>jsx("div",{children:jsx(f,{...a,rule:d(v),value:r[v],handleOnChange:v?c:n})},`${e}-${s}`))}):jsx("div",{children:jsx(f,{...a})})}export{q as ValueEditor};//# sourceMappingURL=value-editor.js.map
1
+ import {jsx,Fragment}from'react/jsx-runtime';import'client-only';import {useCallback}from'react';import {useValueEditor}from'react-querybuilder';import {Checkbox}from'../checkbox/index.js';import {Radio}from'../radio/index.js';import {Switch}from'../switch/index.js';import {TextAreaField}from'../text-area-field/index.js';import {TextField}from'../text-field/index.js';import {multiValueOperators}from'./constants.js';import {getValidationResult}from'./utils.js';import {ValueSelector}from'./value-selector.js';function k({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,value:r}){const{valid:l}=getValidationResult(o,t);return jsx(Checkbox,{isDisabled:a,isSelected:r,onChange:i,"aria-invalid":!l,"aria-label":e})}function x({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,value:r,values:l}){const{valid:d}=getValidationResult(o,t);return jsx(Radio.Group,{value:r,isDisabled:a,onChange:i,"aria-invalid":!d,"aria-label":e,"aria-labelledby":e,children:l?.map(n=>jsx(Radio,{value:n.value,children:n.label},n.name))})}const R=[];function S({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,type:r,value:l,values:d=R,...n}){const{valid:c}=getValidationResult(o,t);return jsx(ValueSelector,{...n,disabled:a,multiple:r==="multiselect",options:d,title:e,validation:!c,value:l,handleOnChange:i,"aria-labelledby":e})}function T({disabled:a,fieldData:{name:e,validator:t},handleOnChange:i,rule:o,value:r}){const{valid:l}=getValidationResult(o,t);return jsx(Switch,{isDisabled:a,isSelected:!!r,onChange:i,"aria-invalid":!l,"aria-label":e,"aria-labelledby":e})}function w({disabled:a,fieldData:{name:e,placeholder:t,validator:i},handleOnChange:o,inputType:r,rule:l,value:d}){const{valid:n,reasons:c}=getValidationResult(l,i);return jsx(TextField,{inputProps:{placeholder:t,type:r??"text"},size:"small",value:d,isDisabled:a,isInvalid:!n,onChange:o,"aria-invalid":!n,"aria-label":e,"aria-labelledby":e,errorMessage:c?.join("/n")})}function I({disabled:a,fieldData:{name:e,placeholder:t,validator:i},handleOnChange:o,rule:r,value:l}){const{valid:d,reasons:n}=getValidationResult(r,i);return jsx(TextAreaField,{size:"small",errorMessage:n?.join("/n"),inputProps:{placeholder:t},value:l,isDisabled:a,isInvalid:!d,onChange:o,"aria-label":e,"aria-invalid":!d,"aria-labelledby":e})}const O={checkbox:k,radio:x,select:S,switch:T,text:w,textarea:I};function J(a){const{fieldData:{name:e,valueEditorType:t},operator:i,rule:o}=a,{valueAsArray:r,multiValueHandler:l}=useValueEditor({...a,skipHook:true}),d=useCallback(s=>({...o,value:r[s]}),[o,r]),n=useCallback(s=>l(s,0),[l]),c=useCallback(s=>l(s,1),[l]),E=(typeof t=="function"?t(i):t)??"text",f=O?.[E];return i==="null"||i==="notNull"||!f?null:multiValueOperators.includes(i)?jsx(Fragment,{children:["start","end"].map((s,m)=>jsx("div",{children:jsx(f,{...a,rule:d(m),value:r[m],handleOnChange:m?c:n})},`${e}-${s}`))}):jsx("div",{children:jsx(f,{...a})})}export{J as ValueEditor};//# sourceMappingURL=value-editor.js.map
2
2
  //# sourceMappingURL=value-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/value-editor.tsx"],"names":["name","rule","value","validator","p","jsx","u","h","values","m","option","defaultOptions","type","rest","P","y","valid","reasons","C","inputType","g","valueEditors","RadioGroupValueEditor","SelectValueEditor","SwitchValueEditor","TextValueEditor","ruleProp","props","V","useCallback","b","valueAsArray","index","handleRangeStartChange","multiValueHandler","handleRangeEndChange","valueEditorType","operator","multiValueOperators","D","A","term"],"mappings":"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","file":"value-editor.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useCallback } from 'react';\nimport {\n type InputType,\n type ValueEditorProps,\n useValueEditor,\n} from 'react-querybuilder';\nimport { Checkbox } from '../checkbox';\nimport { Radio } from '../radio';\nimport { Switch } from '../switch';\nimport { TextAreaField } from '../text-area-field';\nimport { TextField } from '../text-field';\nimport type { QueryBuilderValueEditors } from './';\nimport { multiValueOperators } from './constants';\nimport { getValidationResult } from './utils';\nimport { ValueSelector } from './value-selector';\n\nfunction CheckboxValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Checkbox\n isDisabled={disabled}\n isSelected={value}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction RadioGroupValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n values,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Radio.Group\n value={value}\n isDisabled={disabled}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n aria-labelledby={name}\n >\n {values?.map((option) => (\n <Radio key={option.name} value={option.value}>\n {option.label}\n </Radio>\n ))}\n </Radio.Group>\n );\n}\n\nconst defaultOptions: unknown[] = [];\n\nfunction SelectValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n type,\n value,\n values = defaultOptions,\n ...rest\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <ValueSelector\n {...rest}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values}\n title={name}\n validation={!valid}\n value={value}\n handleOnChange={handleOnChange}\n aria-labelledby={name}\n />\n );\n}\n\nfunction SwitchValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Switch\n isDisabled={disabled}\n isSelected={Boolean(value)}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n aria-labelledby={name}\n />\n );\n}\n\nfunction TextValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n inputType,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid, reasons } = getValidationResult(rule, validator);\n\n return (\n <TextField\n inputProps={{ placeholder }}\n type={(inputType as InputType) ?? 'text'}\n size='small'\n value={value}\n isDisabled={disabled}\n isInvalid={!valid}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n aria-labelledby={name}\n errorMessage={reasons?.join('/n')}\n />\n );\n}\n\nfunction TextareaValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid, reasons } = getValidationResult(rule, validator);\n\n return (\n <TextAreaField\n size='small'\n errorMessage={reasons?.join('/n')}\n inputProps={{ placeholder }}\n value={value}\n isDisabled={disabled}\n isInvalid={!valid}\n onChange={handleOnChange}\n aria-label={name}\n aria-invalid={!valid}\n aria-labelledby={name}\n />\n );\n}\n\nconst valueEditors: QueryBuilderValueEditors = {\n checkbox: CheckboxValueEditor,\n radio: RadioGroupValueEditor,\n select: SelectValueEditor,\n switch: SwitchValueEditor,\n text: TextValueEditor,\n textarea: TextareaValueEditor,\n};\n\nexport function ValueEditor(props: ValueEditorProps) {\n const {\n fieldData: { name, valueEditorType },\n operator,\n rule: ruleProp,\n } = props;\n\n const { valueAsArray, multiValueHandler } = useValueEditor({\n ...props,\n skipHook: true,\n });\n\n const rule = useCallback(\n (index: number) => ({\n ...ruleProp,\n value: valueAsArray[index],\n }),\n [ruleProp, valueAsArray],\n );\n\n const handleRangeStartChange = useCallback(\n (value: string) => multiValueHandler(value, 0),\n [multiValueHandler],\n );\n\n const handleRangeEndChange = useCallback(\n (value: string) => multiValueHandler(value, 1),\n [multiValueHandler],\n );\n\n const type =\n (typeof valueEditorType === 'function'\n ? valueEditorType(operator)\n : valueEditorType) ?? 'text';\n\n const Editor = valueEditors?.[type];\n\n if (operator === 'null' || operator === 'notNull' || !Editor) {\n return null;\n }\n\n if (multiValueOperators.includes(operator)) {\n return (\n <>\n {['start', 'end'].map((term, index) => (\n <div key={`${name}-${term}`}>\n <Editor\n {...props}\n rule={rule(index)}\n value={valueAsArray[index]}\n handleOnChange={\n index ? handleRangeEndChange : handleRangeStartChange\n }\n />\n </div>\n ))}\n </>\n );\n }\n\n return (\n <div>\n <Editor {...props} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/value-editor.tsx"],"names":["value","valid","getValidationResult","disabled","p","u","y","rule","validator","b","name","values","defaultOptions","type","jsx","h","handleOnChange","inputType","TextField","placeholder","P","TextareaValueEditor","TextAreaField","g","valueEditors","CheckboxValueEditor","SelectValueEditor","ruleProp","props","valueAsArray","useValueEditor","useCallback","index","multiValueHandler","v","valueEditorType","operator","Editor","multiValueOperators","Fragment","C","A","handleRangeStartChange","term"],"mappings":"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","file":"value-editor.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { useCallback } from 'react';\nimport { type ValueEditorProps, useValueEditor } from 'react-querybuilder';\nimport { Checkbox } from '../checkbox';\nimport type { InputProps } from '../input/types';\nimport { Radio } from '../radio';\nimport { Switch } from '../switch';\nimport { TextAreaField } from '../text-area-field';\nimport { TextField } from '../text-field';\nimport { multiValueOperators } from './constants';\nimport type { QueryBuilderValueEditors } from './types';\nimport { getValidationResult } from './utils';\nimport { ValueSelector } from './value-selector';\n\nfunction CheckboxValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Checkbox\n isDisabled={disabled}\n isSelected={value}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n />\n );\n}\n\nfunction RadioGroupValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n values,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Radio.Group\n value={value}\n isDisabled={disabled}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n aria-labelledby={name}\n >\n {values?.map((option) => (\n <Radio key={option.name} value={option.value}>\n {option.label}\n </Radio>\n ))}\n </Radio.Group>\n );\n}\n\nconst defaultOptions: unknown[] = [];\n\nfunction SelectValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n type,\n value,\n values = defaultOptions,\n ...rest\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <ValueSelector\n {...rest}\n disabled={disabled}\n multiple={type === 'multiselect'}\n options={values}\n title={name}\n validation={!valid}\n value={value}\n handleOnChange={handleOnChange}\n aria-labelledby={name}\n />\n );\n}\n\nfunction SwitchValueEditor({\n disabled,\n fieldData: { name, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid } = getValidationResult(rule, validator);\n\n return (\n <Switch\n isDisabled={disabled}\n isSelected={Boolean(value)}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n aria-labelledby={name}\n />\n );\n}\n\nfunction TextValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n inputType,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid, reasons } = getValidationResult(rule, validator);\n\n return (\n <TextField\n inputProps={{\n placeholder,\n type: (inputType as InputProps['type']) ?? 'text',\n }}\n size='small'\n value={value}\n isDisabled={disabled}\n isInvalid={!valid}\n onChange={handleOnChange}\n aria-invalid={!valid}\n aria-label={name}\n aria-labelledby={name}\n errorMessage={reasons?.join('/n')}\n />\n );\n}\n\nfunction TextareaValueEditor({\n disabled,\n fieldData: { name, placeholder, validator },\n handleOnChange,\n rule,\n value,\n}: ValueEditorProps) {\n const { valid, reasons } = getValidationResult(rule, validator);\n\n return (\n <TextAreaField\n size='small'\n errorMessage={reasons?.join('/n')}\n inputProps={{ placeholder }}\n value={value}\n isDisabled={disabled}\n isInvalid={!valid}\n onChange={handleOnChange}\n aria-label={name}\n aria-invalid={!valid}\n aria-labelledby={name}\n />\n );\n}\n\nconst valueEditors: QueryBuilderValueEditors = {\n checkbox: CheckboxValueEditor,\n radio: RadioGroupValueEditor,\n select: SelectValueEditor,\n switch: SwitchValueEditor,\n text: TextValueEditor,\n textarea: TextareaValueEditor,\n};\n\nexport function ValueEditor(props: ValueEditorProps) {\n const {\n fieldData: { name, valueEditorType },\n operator,\n rule: ruleProp,\n } = props;\n\n const { valueAsArray, multiValueHandler } = useValueEditor({\n ...props,\n skipHook: true,\n });\n\n const rule = useCallback(\n (index: number) => ({\n ...ruleProp,\n value: valueAsArray[index],\n }),\n [ruleProp, valueAsArray],\n );\n\n const handleRangeStartChange = useCallback(\n (value: string) => multiValueHandler(value, 0),\n [multiValueHandler],\n );\n\n const handleRangeEndChange = useCallback(\n (value: string) => multiValueHandler(value, 1),\n [multiValueHandler],\n );\n\n const type =\n (typeof valueEditorType === 'function'\n ? valueEditorType(operator)\n : valueEditorType) ?? 'text';\n\n const Editor = valueEditors?.[type];\n\n if (operator === 'null' || operator === 'notNull' || !Editor) {\n return null;\n }\n\n if (multiValueOperators.includes(operator)) {\n return (\n <>\n {['start', 'end'].map((term, index) => (\n <div key={`${name}-${term}`}>\n <Editor\n {...props}\n rule={rule(index)}\n value={valueAsArray[index]}\n handleOnChange={\n index ? handleRangeEndChange : handleRangeStartChange\n }\n />\n </div>\n ))}\n </>\n );\n }\n\n return (\n <div>\n <Editor {...props} />\n </div>\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {useCallback,useMemo}from'react';import {ListBoxSection,Header}from'react-aria-components';import {useValueSelector,isOptionGroupArray}from'react-querybuilder';import {ComboBox}from'../combobox/index.js';import {jsxs,jsx}from'react/jsx-runtime';function P(s){let{handleOnChange:n,disabled:i,listsAsArrays:p,options:a,multiple:b,title:y,validation:g,value:d,...u}=s,{onChange:m,val:r}=useValueSelector({handleOnChange:n,listsAsArrays:p,multiple:b,value:d}),c=useCallback(e=>{e&&m(`${e}`);},[m]),C=useMemo(()=>isOptionGroupArray(a)?a.map(e=>jsxs(ListBoxSection,{children:[jsx(Header,{children:e.label}),e.options.map(l=>jsx(ComboBox.Item,{name:l.name,id:l.name,children:l.label},l.name))]},e.label)):a.map(e=>jsx(ComboBox.Item,{name:e.name,textValue:e.label,id:e.name,children:e.label},e.name)),[a]);return jsx(ComboBox,{size:"small",isDisabled:i,...u,selectedKey:Array.isArray(r)?r[0]:r,"aria-labelledby":y,onSelectionChange:c,children:C})}export{P as ValueSelector};//# sourceMappingURL=value-selector.js.map
1
+ import {jsx}from'react/jsx-runtime';import'client-only';import {useCallback,useMemo}from'react';import {useValueSelector,isOptionGroupArray}from'react-querybuilder';import {ComboBoxField}from'../combobox-field/index.js';import {Options}from'../options/index.js';function K(s){const{handleOnChange:n,disabled:m,listsAsArrays:p,options:l,multiple:d,title:u,validation:V,value:y,...c}=s,{onChange:i,val:o}=useValueSelector({handleOnChange:n,listsAsArrays:p,multiple:d,value:y}),b=useCallback(e=>{e&&i(`${e}`);},[i]),h=useMemo(()=>isOptionGroupArray(l)?l.map(e=>jsx(Options.Section,{header:e.label,children:e.options.map(t=>jsx(Options.Item,{id:t.name,children:t.label},t.name))},e.label)):l.map(e=>jsx(Options.Item,{textValue:e.label,id:e.name,children:e.label},e.name)),[l]);return jsx(ComboBoxField,{size:"small",isDisabled:m,...c,selectedKey:Array.isArray(o)?o[0]:o,"aria-labelledby":u,onSelectionChange:b,children:h})}export{K as ValueSelector};//# sourceMappingURL=value-selector.js.map
2
2
  //# sourceMappingURL=value-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":["ValueSelector","props","handleOnChange","disabled","listsAsArrays","optionsProp","multiple","title","validation","value","onChange","val","useValueSelector","handleSelectionChange","useCallback","selection","options","useMemo","isOptionGroupArray","section","jsxs","ListBoxSection","jsx","Header","option","ComboBox"],"mappings":"4PAuBO,SAASA,CAAcC,EAA2B,CACvD,CAAA,GACE,CAAA,cAAAC,CAAAA,CACA,SAAAC,CAAAA,CACA,CAAA,aAAAC,EACA,CAAA,OAASC,CAAAA,CACT,SAAAC,CAAAA,CACA,CAAA,KAAAC,CAAAA,CACA,CAAA,UAAAC,EACA,CAAA,KAAAC,CAAAA,CACA,IACF,CAAA,CAAIR,EAEE,CAAE,CAAA,QAAAS,EAAU,CAAA,GAAAC,CAAI,EAAIC,CAAAA,gBAAiB,CACzC,eAAAV,CAAAA,CACA,CAAA,aAAAE,EACA,CAAA,QAAAE,CAAAA,CACA,MAAAG,CACF,CAAC,EAEKI,CAAAA,CAAwBC,CAAAA,WAC3BC,IACKA,CAAAA,CAAAA,GACO,CAAA,CAAA,EAAY,EAAE,CAE3B,EAAA,CACA,CAACL,CAAQ,CACX,EAEMM,CAAAA,CAAUC,CAAAA,OACd,KACEC,kBAAmBb,CAAW,CAAA,CAC1BA,CAAAA,CAAY,IAAKc,CAAAA,CAAAA,EACfC,IAACC,eAAA,CACC,CAAA,QAAA,CAAAC,IAACC,CAAAA,MAAA,CAAQ,SAAAJ,CAAAA,CAAQ,CAAA,KAAM,EACtBA,CAAAA,CAAQ,CAAA,OAAQ,IAAKK,CAAAA,CAAAA,EACpBF,GAACG,SAAS,CAAA,IAAT,CACC,KAAMD,CAAAA,CAAO,CAAA,IACb,GAAIA,CAAAA,CAAO,CAAA,IAGV,SAAAA,CAAAA,CAAO,CAAA,KAAA,CAFHA,EAAO,CAAA,IAIf,IAVkBL,CAAAA,CAAQ,CAAA,KAY9B,CAAA,CACDd,CAAAA,CAAY,IAAKmB,CAAAA,CAAAA,EACfF,GAACG,SAAS,CAAA,IAAT,CACC,CAAA,IAAMD,CAAAA,CAAO,KACb,CAAA,SAAWA,CAAAA,CAAO,MAClB,CAAA,EAAIA,CAAAA,CAAO,KAGV,CAAA,QAAAA,CAAAA,CAAO,OAFHA,CAAAA,CAAO,CAAA,IAIf,CAAA,CACP,CAACnB,CAAW,CACd,CAAA,CAEA,QACEiB,GAACG,CAAAA,QAAA,CACC,CAAA,IAAK,CAAA,OACL,WAAYtB,CAAAA,CACX,CAAA,IACD,CAAA,WAAa,CAAA,KAAM,QAAQQ,CAAG,CAAA,CAAIA,EAAI,CAAC,CAAA,CAAIA,EAC3C,CAAA,iBAAiBJ,CAAAA,CACjB,kBAAmBM,CAAAA,CAElB,CAAA,QAAAG,EACH,CAEJ,CAAA","file":"value-selector.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport { useCallback, useMemo } from 'react';\nimport { Header, ListBoxSection } from 'react-aria-components';\nimport {\n type ValueSelectorProps,\n isOptionGroupArray,\n useValueSelector,\n} from 'react-querybuilder';\nimport { ComboBox } from '../combobox';\n\nexport function ValueSelector(props: ValueSelectorProps) {\n const {\n handleOnChange,\n disabled,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n } = props;\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key | null) => {\n if (selection) {\n onChange(`${selection}`);\n }\n },\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <ListBoxSection key={section.label}>\n <Header>{section.label}</Header>\n {section.options.map((option) => (\n <ComboBox.Item\n name={option.name}\n id={option.name}\n key={option.name}\n >\n {option.label}\n </ComboBox.Item>\n ))}\n </ListBoxSection>\n ))\n : optionsProp.map((option) => (\n <ComboBox.Item\n name={option.name}\n textValue={option.label}\n id={option.name}\n key={option.name}\n >\n {option.label}\n </ComboBox.Item>\n )),\n [optionsProp],\n );\n\n return (\n <ComboBox\n size='small'\n isDisabled={disabled}\n {...rest}\n selectedKey={Array.isArray(val) ? val[0] : val}\n aria-labelledby={title}\n onSelectionChange={handleSelectionChange}\n >\n {options}\n </ComboBox>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/query-builder/value-selector.tsx"],"names":["multiple","title","validation","value","onChange","val","useValueSelector","handleOnChange","O","selection","S","options","useMemo","isOptionGroupArray","optionsProp","section","jsx","Options","C","r","option","a","A","disabled","handleSelectionChange"],"mappings":"sQA2BI,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBAEA,CAAA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,eACAA,CAAAA,OACAC,CAAAA,CACA,CAAA,QAAA,CAAA,CAAAC,MACA,CAAA,CAAAC,CAAAA,UAIM,CAAA,CAAA,CAAA,KAAA,CAAAC,CAAAA,CAAU,GAAA,CAAAC,CAAI,CAAA,CAAIC,CAAAA,CAAiB,QACzC,CAAA,CAAA,CAAA,GAAA,CAAA,CAAAC,CAAAA,CACAC,gCACA,CAAA,CAAA,CAAA,aACAL,CACF,CAAC,CAAA,QAG4B,CACrBM,CAAAA,CAAAA,KACO,CAAGA,CAAS,EAAE,CAE3B,CAAA,CACAC,WAACN,CAAQ,CACX,EAEMO,CAAAA,CAAUC,EACd,CAAA,CAAA,CAAA,EACEC,CAAmBC,CAAW,CAAA,EAC1BA,CAAAA,CAAY,IAAKC,CAAAA,CAAAA,CACfC,OAAAA,CAACC,IAAQC,kBAAA,CAAA,CAAA,CAAA,CAAA,CAAR,CAAoC,GAAA,CAAA,CAAA,EAAQH,GAAAA,CAAQI,eAClD,CAAA,CAAA,MAAQ,QAAQ,CAAA,QACdF,CAAAA,CAAQ,CAAA,OAAK,CAAIG,GAAO,CAAA,CAAA,EACtBC,GAAA,CAAAF,OAAA,CAAA,IAAA,CAAAC,GAAO,CAAA,CAAA,CAAA,IAD0BA,CAAO,QAFzBL,CAAAA,CAAQ,CAAA,KAO/B,CAAA,CACDD,CAAAA,CAAY,IAAKM,CAAAA,CAAAA,CACfJ,CAAAA,CAACC,MAAQ,CAAR,CACC,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,EAAWG,GAAAA,CAAOD,YAClB,CAAA,CAAA,SAGC,CAAA,CAAA,CAAA,KAAAC,CAAAA,SAFIA,CAAO,QAKrBN,CAAW,CACd,MAEA,CAAA,CAAA,CACEE,CAAAA,IACE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,OACLK,GAAA,CAAAC,aAAA,CAAA,CAAA,IAAYC,mBAEC,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,WAAmB,CAAC,KACvC,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiBtB,CAAAA,CACjB,kBAAmBuB,CAAAA,CAElB,iBAGP,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA","file":"value-selector.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport type { Key } from '@react-types/shared';\nimport { useCallback, useMemo } from 'react';\nimport {\n type ValueSelectorProps,\n isOptionGroupArray,\n useValueSelector,\n} from 'react-querybuilder';\nimport { ComboBoxField } from '../combobox-field';\nimport { Options } from '../options';\n\nexport function ValueSelector(props: ValueSelectorProps) {\n const {\n handleOnChange,\n disabled,\n listsAsArrays,\n options: optionsProp,\n multiple,\n title,\n validation,\n value,\n ...rest\n } = props;\n\n const { onChange, val } = useValueSelector({\n handleOnChange,\n listsAsArrays,\n multiple,\n value,\n });\n\n const handleSelectionChange = useCallback(\n (selection: Key | null) => {\n if (selection) {\n onChange(`${selection}`);\n }\n },\n [onChange],\n );\n\n const options = useMemo(\n () =>\n isOptionGroupArray(optionsProp)\n ? optionsProp.map((section) => (\n <Options.Section key={section.label} header={section.label}>\n {section.options.map((option) => (\n <Options.Item id={option.name} key={option.name}>\n {option.label}\n </Options.Item>\n ))}\n </Options.Section>\n ))\n : optionsProp.map((option) => (\n <Options.Item\n textValue={option.label}\n id={option.name}\n key={option.name}\n >\n {option.label}\n </Options.Item>\n )),\n [optionsProp],\n );\n\n return (\n <ComboBoxField\n size='small'\n isDisabled={disabled}\n {...rest}\n selectedKey={Array.isArray(val) ? val[0] : val}\n aria-labelledby={title}\n onSelectionChange={handleSelectionChange}\n >\n {options}\n </ComboBoxField>\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import'client-only';import {createContext}from'react';import {Radio,composeRenderProps,useContextProps,RadioGroup}from'react-aria-components';import {Label}from'../label/index.js';import {RadioStyles}from'./styles.js';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var {group:y,groupLabel:C,radio:A,control:L,label:g}=RadioStyles(),D=createContext(null);function p({ref:o,...r}){[r,o]=useContextProps(r,o??null,D);let{children:s,classNames:a,label:t,...m}=r;return jsx(RadioGroup,{...m,ref:o,className:composeRenderProps(a?.group,l=>y({className:l})),children:composeRenderProps(s,(l,{isDisabled:R,isRequired:c})=>jsxs(Fragment,{children:[t&&jsx(Label,{className:C({className:a?.label}),isDisabled:R,isRequired:c,children:t}),l]}))})}p.displayName="Radio.Group";function d({classNames:o,children:r,...s}){return jsx(Radio,{...s,className:composeRenderProps(o?.radio,a=>A({className:a})),children:composeRenderProps(r,a=>jsxs(Fragment,{children:[jsx("span",{className:L({className:o?.control})}),jsx("span",{className:g({className:o?.label}),children:a})]}))})}d.displayName="Radio";d.Group=p;export{d as Radio,D as RadioContext};//# sourceMappingURL=index.js.map
1
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {createContext}from'react';import {Radio,composeRenderProps,useContextProps,RadioGroup}from'react-aria-components';import {Label}from'../label/index.js';import {RadioStyles}from'./styles.js';const {group:y,groupLabel:C,radio:A,control:L,label:g}=RadioStyles(),D=createContext(null);function p({ref:o,...r}){[r,o]=useContextProps(r,o??null,D);const{children:s,classNames:a,label:t,...m}=r;return jsx(RadioGroup,{...m,ref:o,className:composeRenderProps(a?.group,l=>y({className:l})),children:composeRenderProps(s,(l,{isDisabled:R,isRequired:c})=>jsxs(Fragment,{children:[t&&jsx(Label,{className:C({className:a?.label}),isDisabled:R,isRequired:c,children:t}),l]}))})}p.displayName="Radio.Group";function d({classNames:o,children:r,...s}){return jsx(Radio,{...s,className:composeRenderProps(o?.radio,a=>A({className:a})),children:composeRenderProps(r,a=>jsxs(Fragment,{children:[jsx("span",{className:L({className:o?.control})}),jsx("span",{className:g({className:o?.label}),children:a})]}))})}d.displayName="Radio",d.Group=p;export{d as Radio,D as RadioContext};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/radio/index.tsx"],"names":["group","groupLabel","control","RadioStyles","x","RadioContext","createContext","G","ref","props","useContextProps","classNames","label","AriaRadioGroup","b","composeRenderProps","className","children","isDisabled","Fragment","n","jsx","Label","f","isRequired","RadioGroup","AriaRadio","N","radio","jsxs","e","Radio"],"mappings":"4QA0BQ,IAAA,CAAA,KAAAA,CAAO,CAAA,CAAA,UAAAC,CAAY,CAAA,CAAA,MAAO,CAAA,CAAA,OAAAC,CAAS,CAAA,CAAA,KAAM,CAAA,CAAIC,CAAAA,CAAYC,aAEpDC,CACXC,CAAAA,CAA6DC,aAAA,CAAA,IAE/D,EAAA,SAAoB,CAAE,CAAA,CAAA,GAAAC,CAAK,KAAS,CAAoB,CACtD,CAACC,CAAAA,CAAOD,CAAG,CAAA,CAAIE,CAAAA,CAAgBD,eAAAA,CAAOD,GAAO,EAAA,IAAkB,CAAA,CAE/D,CAAA,CAAA,GAAQ,CAAA,SAAU,CAAA,CAAA,UAAAG,CAAY,CAAA,CAAA,KAAAC,CAAO,CAAA,CAAA,IAAYH,CAAAA,CAEjD,CAAA,CAAA,OACGI,GAAAA,CAAAC,UACE,KACD,CAAA,CAAA,GAAKN,CACL,CAAA,CAAA,SAAWO,CAAmBJ,kBAAAA,CAAAA,CAAY,OAAQK,CAAAA,CAChDhB,EAAM,CAAE,CAAA,CAAA,SAAU,CAAC,CACrB,CAAA,CAEC,CAAA,CAAA,QAAAe,CAAmBE,kBAAAA,CAAU,CAACA,CAAAA,CAAU,CAAE,CAAA,CAAA,UAAAC,CAAY,YAAW,CAAA,CAAA,CAAA,GAChEC,IAAAA,CAAAC,QACG,CAAA,CAAA,QAAAR,CAAAA,CAAAA,CACCS,EAACC,GAAAA,CAAAC,KACC,CAAA,CAAA,SAAWtB,CAAW,CAAE,CAAA,CAAA,SAAWU,CAAAA,CAAY,EAAA,KAAO,CACtD,CAAA,CAAA,UAAYO,CACZ,CAAA,CAAA,UAAYM,CAEX,CAAA,CAAA,SACH,CAAA,CAEDP,CAAAA,CAAAA,CACH,CACD,CAAA,CACH,CAEJ,CACAQ,CAAAA,CAAW,CAAA,CAAA,WAAc,CAAA,aAElB,CAAA,SAAe,CAAE,YAAAd,CAAY,CAAA,CAAA,QAAAM,CAAU,CAAA,CAAA,GAAQ,CAAe,CACnE,CAAA,CAAA,OACGS,GAAAA,CAAAC,KACE,CAAA,CAAA,GACD,WAAWZ,CAAmBJ,kBAAAA,CAAAA,CAAY,OAAQK,CAAAA,CAChDY,EAAM,CAAE,CAAA,CAAA,SAAU,CAAC,CACrB,CAAA,CAEC,CAAA,CAAA,SAAmBX,kBAAAA,CAAWA,CAAAA,CAAAA,CAC7BY,EAAAV,IAAAA,CAAAC,QACE,CAAA,CAAA,QAAAC,EAACS,GAAA,CAAA,MAAK,CAAA,CAAA,SAAW5B,CAAQ,CAAE,CAAA,CAAA,SAAWS,CAAAA,CAAY,SAAS,CAAG,EAC9DU,CAAAA,CAACS,GAAA,CAAA,MAAK,WAAWlB,CAAM,CAAE,CAAA,CAAA,SAAWD,CAAAA,CAAY,EAAA,MAC7C,CAAA,CAAA,QAAAM,CACH,CAAA,CAAA,CACF,CACD,CAAA,CACH,CAEJ,CACAc,CAAAA,CAAM,CAAA,CAAA,WAAc,CAAA,OACpBA,CAAM,CAAA,CAAA,KAAQN,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { createContext } from 'react';\nimport {\n Radio as AriaRadio,\n RadioGroup as AriaRadioGroup,\n type ContextValue,\n composeRenderProps,\n useContextProps,\n} from 'react-aria-components';\nimport { Label } from '../label';\nimport { RadioStyles } from './styles';\nimport type { RadioGroupProps, RadioProps } from './types';\n\nconst { group, groupLabel, radio, control, label } = RadioStyles();\n\nexport const RadioContext =\n createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\n\nfunction RadioGroup({ ref, ...props }: RadioGroupProps) {\n [props, ref] = useContextProps(props, ref ?? null, RadioContext);\n\n const { children, classNames, label, ...rest } = props;\n\n return (\n <AriaRadioGroup\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.group, (className) =>\n group({ className }),\n )}\n >\n {composeRenderProps(children, (children, { isDisabled, isRequired }) => (\n <>\n {label && (\n <Label\n className={groupLabel({ className: classNames?.label })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {label}\n </Label>\n )}\n {children}\n </>\n ))}\n </AriaRadioGroup>\n );\n}\nRadioGroup.displayName = 'Radio.Group';\n\nexport function Radio({ classNames, children, ...rest }: RadioProps) {\n return (\n <AriaRadio\n {...rest}\n className={composeRenderProps(classNames?.radio, (className) =>\n radio({ className }),\n )}\n >\n {composeRenderProps(children, (children) => (\n <>\n <span className={control({ className: classNames?.control })} />\n <span className={label({ className: classNames?.label })}>\n {children}\n </span>\n </>\n ))}\n </AriaRadio>\n );\n}\nRadio.displayName = 'Radio';\nRadio.Group = RadioGroup;\n"]}
1
+ {"version":3,"sources":["../../../src/components/radio/index.tsx"],"names":["groupLabel","RadioContext","x","G","props","useContextProps","ref","P","classNames","rest","AriaRadioGroup","b","composeRenderProps","className","group","children","i","isDisabled","isRequired","u","label","jsx","e","RadioGroup","AriaRadio","radio"],"mappings":"4QA0Be,MAAA,CAAA,KAAAA,CAAAA,CAAY,CAAA,UAAO,CAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,OAAsB,EAEpDC,CAAAA,KACkD,CAAA,CAAI,CAAA,CAEnEC,WAAA,EAAA,CAAA,CAAA,CAAAC,aAAA,CAAA,IAAsB,EAAA,SAAc,CAAoB,CACtD,CAACC,GAAU,CAAA,CAAIC,CAAAA,GAAuBC,GAAO,CAAA,CAAA,CAAA,CAAA,CAAML,CAAY,CAAAM,eAE/D,CAAA,CAAA,CAAA,CAAA,EAAQ,IAAA,CAAA,CAAA,CAAA,CAAA,KAAU,CAAA,QAAAC,CAAAA,CAAY,CAAA,UAAUC,CAAK,EAAIL,KAEjD,CAAA,CAAA,CAAA,GACGM,CAAAA,CAAA,CACE,SACIJ,GAAAA,CACLK,UAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAWC,CAAmBJ,CAAAA,CAAAA,SAAoBK,CAChDC,kBAAAA,CAAM,CAAE,EAAA,KAAA,CAAA,CAAA,EAAU,CAAC,CACrB,CAAA,SAEC,CAAAF,CAAAA,CAAmBG,CAAAA,CAAU,CAACA,QAAY,CAAAC,kBAAA,CAAA,CAAA,CAAA,CAAAC,CAAAA,CAAY,WAAAC,CAAW,CAAA,CAAA,UAE7D,CAAA,CAAA,CAAA,GAAAC,IAAAC,CAAAA,QAAAA,CACCC,CAAAA,QACE,CAAA,CAAA,CAAA,EAAAC,GAAWtB,CAAAA,KAAW,CAAE,CAAA,SAAWQ,CAAAA,CAAAA,CAAY,CAAA,SAC/C,CAAA,CAAA,EAAA,KAAYS,CAAAA,CACZ,CAAA,UAAYC,CAAAA,CAEX,CAAA,UACH,CAAA,CAEDH,CAAAA,QAMXQ,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,WAAA,CAElB,uBAAiBf,CAAAA,CAAY,CAAA,UAAU,CAAA,CAAA,CAAGC,QAC/C,CAAA,CAAA,CACEY,GAACG,CAAA,CACE,CAAA,CAAA,qBAC6BhB,CAAAA,CAAAA,SAAoBK,CAChDY,kBAAAA,CAAM,CAAE,EAAA,KAAA,CAAA,CAAA,EAAU,CAAC,CACrB,CAAA,SAEC,CAAAb,EAAmBG,CAAAA,CAAWA,CAAAA,QAE3B,CAAAC,kBAAA,CAAA,CAAA,CAAA,CAAA,EAAAG,IAAAE,SAAC,CAAA,CAAA,QAAK,CAAA,CAAAC,GAAA,CAAA,MAAmB,CAAE,CAAA,SAAWd,CAAAA,CAAAA,CAAY,UAAY,EAC9Da,EAAC,OAAA,CAAK,cAAiB,CAAE,CAAA,SAAWb,CAAAA,CAAAA,CAAY,CAAA,SAC7C,CAAA,CAAA,EAAA,KACH,CAAA,CAAA,CACF,QAKF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,WACd,CAAA,OAAQe,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { createContext } from 'react';\nimport {\n Radio as AriaRadio,\n RadioGroup as AriaRadioGroup,\n type ContextValue,\n composeRenderProps,\n useContextProps,\n} from 'react-aria-components';\nimport { Label } from '../label';\nimport { RadioStyles } from './styles';\nimport type { RadioGroupProps, RadioProps } from './types';\n\nconst { group, groupLabel, radio, control, label } = RadioStyles();\n\nexport const RadioContext =\n createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\n\nfunction RadioGroup({ ref, ...props }: RadioGroupProps) {\n [props, ref] = useContextProps(props, ref ?? null, RadioContext);\n\n const { children, classNames, label, ...rest } = props;\n\n return (\n <AriaRadioGroup\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.group, (className) =>\n group({ className }),\n )}\n >\n {composeRenderProps(children, (children, { isDisabled, isRequired }) => (\n <>\n {label && (\n <Label\n className={groupLabel({ className: classNames?.label })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {label}\n </Label>\n )}\n {children}\n </>\n ))}\n </AriaRadioGroup>\n );\n}\nRadioGroup.displayName = 'Radio.Group';\n\nexport function Radio({ classNames, children, ...rest }: RadioProps) {\n return (\n <AriaRadio\n {...rest}\n className={composeRenderProps(classNames?.radio, (className) =>\n radio({ className }),\n )}\n >\n {composeRenderProps(children, (children) => (\n <>\n <span className={control({ className: classNames?.control })} />\n <span className={label({ className: classNames?.label })}>\n {children}\n </span>\n </>\n ))}\n </AriaRadio>\n );\n}\nRadio.displayName = 'Radio';\nRadio.Group = RadioGroup;\n"]}
@@ -1,23 +1,24 @@
1
1
  import * as tailwind_variants from 'tailwind-variants';
2
+ import * as tailwind_merge from 'tailwind-merge';
2
3
 
3
4
  declare const RadioStyles: tailwind_variants.TVReturnType<{
4
5
  [key: string]: {
5
- [key: string]: tailwind_variants.ClassValue | {
6
- group?: tailwind_variants.ClassValue;
7
- radio?: tailwind_variants.ClassValue;
8
- label?: tailwind_variants.ClassValue;
9
- groupLabel?: tailwind_variants.ClassValue;
10
- control?: tailwind_variants.ClassValue;
6
+ [key: string]: tailwind_merge.ClassNameValue | {
7
+ label?: tailwind_merge.ClassNameValue;
8
+ group?: tailwind_merge.ClassNameValue;
9
+ radio?: tailwind_merge.ClassNameValue;
10
+ groupLabel?: tailwind_merge.ClassNameValue;
11
+ control?: tailwind_merge.ClassNameValue;
11
12
  };
12
13
  };
13
14
  } | {
14
15
  [x: string]: {
15
- [x: string]: tailwind_variants.ClassValue | {
16
- group?: tailwind_variants.ClassValue;
17
- radio?: tailwind_variants.ClassValue;
18
- label?: tailwind_variants.ClassValue;
19
- groupLabel?: tailwind_variants.ClassValue;
20
- control?: tailwind_variants.ClassValue;
16
+ [x: string]: tailwind_merge.ClassNameValue | {
17
+ label?: tailwind_merge.ClassNameValue;
18
+ group?: tailwind_merge.ClassNameValue;
19
+ radio?: tailwind_merge.ClassNameValue;
20
+ groupLabel?: tailwind_merge.ClassNameValue;
21
+ control?: tailwind_merge.ClassNameValue;
21
22
  };
22
23
  };
23
24
  } | {}, {
@@ -28,12 +29,12 @@ declare const RadioStyles: tailwind_variants.TVReturnType<{
28
29
  label: string[];
29
30
  }, undefined, {
30
31
  [key: string]: {
31
- [key: string]: tailwind_variants.ClassValue | {
32
- group?: tailwind_variants.ClassValue;
33
- radio?: tailwind_variants.ClassValue;
34
- label?: tailwind_variants.ClassValue;
35
- groupLabel?: tailwind_variants.ClassValue;
36
- control?: tailwind_variants.ClassValue;
32
+ [key: string]: tailwind_merge.ClassNameValue | {
33
+ label?: tailwind_merge.ClassNameValue;
34
+ group?: tailwind_merge.ClassNameValue;
35
+ radio?: tailwind_merge.ClassNameValue;
36
+ groupLabel?: tailwind_merge.ClassNameValue;
37
+ control?: tailwind_merge.ClassNameValue;
37
38
  };
38
39
  };
39
40
  } | {}, {
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';var r=tv({slots:{group:["group/radio-group flex gap-xs","orientation-horizontal:flex-wrap","orientation-vertical:flex-col"],groupLabel:"w-full",radio:["group/radio flex cursor-pointer items-center gap-m group-orientation-horizontal/radio-group:grow group-orientation-horizontal/radio-group:basis-1/3","disabled:cursor-not-allowed"],control:["my-xxs flex size-l items-center justify-center rounded-full outline outline-interactive before:block before:size-s before:rounded-full","group-enabled/radio:group-focus/radio:outline-interactive-hover","group-enabled/radio:group-hover/radio:outline-interactive-hover","group-enabled/radio:group-selected/radio:outline-highlight group-enabled/radio:group-selected/radio:before:bg-highlight","group-enabled/radio:group-selected/radio:group-focus/radio:outline-interactive-hover","group-enabled/radio:group-selected/radio:group-hover/radio:outline-interactive-hover","group-disabled/radio:outline-interactive-disabled","group-disabled/radio:group-selected/radio:before:bg-interactive-disabled"],label:["text-body-s text-interactive-default","group-disabled/radio:text-interactive-disabled"]}});export{r as RadioStyles};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const r=tv({slots:{group:["group/radio-group flex gap-xs","orientation-horizontal:flex-wrap","orientation-vertical:flex-col"],groupLabel:"w-full",radio:["group/radio flex cursor-pointer items-center gap-m group-orientation-horizontal/radio-group:grow group-orientation-horizontal/radio-group:basis-1/3","disabled:cursor-not-allowed"],control:["my-xxs flex size-l items-center justify-center rounded-full outline outline-interactive before:block before:size-s before:rounded-full","group-enabled/radio:group-focus/radio:outline-interactive-hover","group-enabled/radio:group-hover/radio:outline-interactive-hover","group-enabled/radio:group-selected/radio:outline-highlight group-enabled/radio:group-selected/radio:before:bg-highlight","group-enabled/radio:group-selected/radio:group-focus/radio:outline-interactive-hover","group-enabled/radio:group-selected/radio:group-hover/radio:outline-interactive-hover","group-disabled/radio:outline-interactive-disabled","group-disabled/radio:group-selected/radio:before:bg-interactive-disabled"],label:["text-body-s text-interactive-default","group-disabled/radio:text-interactive-disabled"]}});export{r as RadioStyles};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/radio/styles.ts"],"names":["e"],"mappings":"sCAeE,IAAA,CAAA,CAAAA,EAAA,CAAO,CACL,KAAA,CAAO,CACL,KAAA,CAAA,CAAA,+BACA,CAAA,kEAGF,CAAA,CAAA,mBACO,CACL,KAAA,CAAA,CAAA,qJACA,CAAA,6BAEF,CAAA,CAAA,iJAEE,CAAA,iEACA,CAAA,2LAEA,CAAA,sFACA,CAAA,sFACA,CAAA,mDACA,CAAA,0EAEF,CAAO,CACL,6CACA,CAAA,gDAGL,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const RadioStyles = tv({\n slots: {\n group: [\n 'group/radio-group flex gap-xs',\n 'orientation-horizontal:flex-wrap',\n 'orientation-vertical:flex-col',\n ],\n groupLabel: 'w-full',\n radio: [\n 'group/radio flex cursor-pointer items-center gap-m group-orientation-horizontal/radio-group:grow group-orientation-horizontal/radio-group:basis-1/3',\n 'disabled:cursor-not-allowed',\n ],\n control: [\n 'my-xxs flex size-l items-center justify-center rounded-full outline outline-interactive before:block before:size-s before:rounded-full',\n 'group-enabled/radio:group-focus/radio:outline-interactive-hover',\n 'group-enabled/radio:group-hover/radio:outline-interactive-hover',\n 'group-enabled/radio:group-selected/radio:outline-highlight group-enabled/radio:group-selected/radio:before:bg-highlight',\n 'group-enabled/radio:group-selected/radio:group-focus/radio:outline-interactive-hover',\n 'group-enabled/radio:group-selected/radio:group-hover/radio:outline-interactive-hover',\n 'group-disabled/radio:outline-interactive-disabled',\n 'group-disabled/radio:group-selected/radio:before:bg-interactive-disabled',\n ],\n label: [\n 'text-body-s text-interactive-default',\n 'group-disabled/radio:text-interactive-disabled',\n ],\n },\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/radio/styles.ts"],"names":["e"],"mappings":"sCAeE,MAAA,CAAO,CACLA,EAAA,CAAA,CAAA,KACE,CAAA,CAAA,KAAA,CAAA,CAAA,+BACA,CAAA,kEAGF,CAAA,CAAA,UACA,CAAA,QACE,CAAA,KAAA,CAAA,CAAA,qJACA,CAAA,6BAEO,CACP,kJACA,CAAA,iEACA,CAAA,2LAEA,CAAA,sFACA,CAAA,sFACA,CAAA,mDACA,CAAA,yHAIA,CAAA,gDAGL,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const RadioStyles = tv({\n slots: {\n group: [\n 'group/radio-group flex gap-xs',\n 'orientation-horizontal:flex-wrap',\n 'orientation-vertical:flex-col',\n ],\n groupLabel: 'w-full',\n radio: [\n 'group/radio flex cursor-pointer items-center gap-m group-orientation-horizontal/radio-group:grow group-orientation-horizontal/radio-group:basis-1/3',\n 'disabled:cursor-not-allowed',\n ],\n control: [\n 'my-xxs flex size-l items-center justify-center rounded-full outline outline-interactive before:block before:size-s before:rounded-full',\n 'group-enabled/radio:group-focus/radio:outline-interactive-hover',\n 'group-enabled/radio:group-hover/radio:outline-interactive-hover',\n 'group-enabled/radio:group-selected/radio:outline-highlight group-enabled/radio:group-selected/radio:before:bg-highlight',\n 'group-enabled/radio:group-selected/radio:group-focus/radio:outline-interactive-hover',\n 'group-enabled/radio:group-selected/radio:group-hover/radio:outline-interactive-hover',\n 'group-disabled/radio:outline-interactive-disabled',\n 'group-disabled/radio:group-selected/radio:before:bg-interactive-disabled',\n ],\n label: [\n 'text-body-s text-interactive-default',\n 'group-disabled/radio:text-interactive-disabled',\n ],\n },\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { RefAttributes, PropsWithChildren } from 'react';
1
+ import { RefAttributes } from 'react';
2
2
  import { RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1 } from 'react-aria-components';
3
3
  import { LabelProps } from '../label/types.js';
4
4
 
@@ -16,6 +16,5 @@ type RadioProps = Omit<RadioProps$1, 'className'> & RefAttributes<HTMLLabelEleme
16
16
  label?: string;
17
17
  };
18
18
  };
19
- type RadioProviderProps = PropsWithChildren<RadioGroupProps>;
20
19
 
21
- export type { RadioGroupProps, RadioProps, RadioProviderProps };
20
+ export type { RadioGroupProps, RadioProps };
@@ -1,19 +1,60 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ProviderProps } from '../../lib/types.js';
4
+ import { ContextValue } from 'react-aria-components';
5
+ import { SearchFieldProps } from './types.js';
6
+ import 'tailwind-variants';
7
+ import '../button/types.js';
8
+ import '../button/styles.js';
9
+ import 'tailwind-merge';
10
+ import '../icon/types.js';
11
+ import './styles.js';
2
12
 
3
- interface SearchFieldProps {
4
- className?: string;
5
- /** Disables the input field. */
6
- isDisabled?: boolean;
7
- /** Displays a loading spinner. */
8
- isLoading?: boolean;
9
- /** Displays placeholder text. */
10
- placeholder?: string;
11
- /** Whether the input has a filled background or outlined. */
12
- variant?: 'filled' | 'outlined';
13
+ declare const SearchFieldContext: react.Context<ContextValue<SearchFieldProps, HTMLDivElement>>;
14
+ declare function SearchFieldProvider({ children, ...props }: ProviderProps<SearchFieldProps>): react_jsx_runtime.JSX.Element;
15
+ declare namespace SearchFieldProvider {
16
+ var displayName: string;
17
+ }
18
+ /**
19
+ * SearchField - A customizable search input component built on React Aria Components
20
+ *
21
+ * Provides a search input with integrated search icon, loading state, and clear functionality.
22
+ * Supports two visual variants (filled/outlined), and granular styling control.
23
+ *
24
+ * @example
25
+ * // Basic search field
26
+ * <SearchField placeholder="Search..." />
27
+ *
28
+ * @example
29
+ * // Filled variant with custom styling
30
+ * <SearchField
31
+ * variant="filled"
32
+ * placeholder="Search products"
33
+ * classNames={{
34
+ * input: "bg-gray-100",
35
+ * searchIcon: "text-blue-600"
36
+ * }}
37
+ * />
38
+ *
39
+ * @example
40
+ * // With event handlers
41
+ * <SearchField
42
+ * placeholder="Type to search"
43
+ * onSubmit={(value) => console.log('Search:', value)}
44
+ * onChange={(value) => setQuery(value)}
45
+ * />
46
+ *
47
+ * @example
48
+ * // Using context provider for default props
49
+ * <SearchField.Provider variant="filled">
50
+ * <SearchField placeholder="Search 1" />
51
+ * <SearchField placeholder="Search 2" />
52
+ * </SearchField.Provider>
53
+ */
54
+ declare function SearchField({ ref, ...props }: SearchFieldProps): react_jsx_runtime.JSX.Element;
55
+ declare namespace SearchField {
56
+ var displayName: string;
57
+ var Provider: typeof SearchFieldProvider;
13
58
  }
14
- declare const SearchField: {
15
- ({ className, placeholder, variant, isLoading, ...rest }: SearchFieldProps): react_jsx_runtime.JSX.Element;
16
- displayName: string;
17
- };
18
59
 
19
- export { SearchField, type SearchFieldProps };
60
+ export { SearchField, SearchFieldContext };
@@ -1,2 +1,2 @@
1
- import {cn}from'./../../lib/utils.js';import {Search,Loop,CancelFill}from'@accelint/icons';import'client-only';import {cva}from'cva';import {SearchField,Input,Button}from'react-aria-components';import {Icon}from'../icon/index.js';import {jsxs,jsx}from'react/jsx-runtime';var v=cva(["hide-cancel block w-full rounded-round p-s pr-[30px] pl-[35px] font-display text-body-s outline"],{variants:{isDisabled:{true:"text-disabled outline-interactive-disabled placeholder:text-disabled",false:"text-default-light placeholder:text-default-dark hover:outline-interactive-hover focus:outline-highlight"},variant:{filled:"bg-surface-raised outline-static-dark",outlined:"outline-interactive"}}}),g=({className:i,placeholder:l="Search",variant:o="outlined",isLoading:r=false,...s})=>jsxs(SearchField,{className:cn("group relative",i),...s,children:[jsx(Icon,{className:"fg-interactive-hover absolute top-[6px] left-[7px]",children:jsx(Search,{})}),jsx(Input,{placeholder:l,className:({isDisabled:c})=>cn(v({isDisabled:c,variant:o}))}),r?jsx(Icon,{className:"fg-interactive-hover absolute top-[6px] right-[8px] animate-spin",children:jsx(Loop,{className:"scale-x-[-1]"})}):jsx(Button,{className:"fg-default-dark hover:fg-interactive-hover absolute top-[8px] right-[8px] cursor-pointer group-empty:hidden group-disabled:hidden",children:jsx(Icon,{size:"small",children:jsx(CancelFill,{})})})]});g.displayName="SearchField";export{g as SearchField};//# sourceMappingURL=index.js.map
1
+ import {jsx,jsxs}from'react/jsx-runtime';import'client-only';import {Search,Loop,CancelFill}from'@accelint/icons';import {createContext}from'react';import {useContextProps,SearchField,composeRenderProps,Input,Button}from'react-aria-components';import {Icon}from'../icon/index.js';import {SearchFieldStyles,SearchFieldStylesDefaults}from'./styles.js';const {field:I,input:g,search:L,loading:A,clear:B}=SearchFieldStyles(),c=createContext(null);function n({children:r,...a}){return jsx(c.Provider,{value:a,children:r})}n.displayName="SearchField.Provider";function d({ref:r,...a}){[a,r]=useContextProps(a,r??null,c);const{classNames:o,inputProps:p,isLoading:m=false,variant:i=SearchFieldStylesDefaults.variant,...h}=a;return jsx(Icon.Provider,{size:"small",children:jsxs(SearchField,{...h,ref:r,className:composeRenderProps(o?.field,l=>I({className:l,variant:i})),children:[jsx(Icon,{className:L({className:o?.search,variant:i}),children:jsx(Search,{})}),jsx(Input,{...p,className:composeRenderProps(o?.input,l=>g({className:l,variant:i})),type:"search"}),m?jsx(Icon,{className:A({className:o?.loading,variant:i}),children:jsx(Loop,{})}):jsx(Button,{className:composeRenderProps(o?.clear,l=>B({className:l,variant:i})),children:jsx(Icon,{children:jsx(CancelFill,{})})})]})})}d.displayName="SearchField",d.Provider=n;export{d as SearchField,c as SearchFieldContext};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/search-field/index.tsx"],"names":["h","variant","rest","jsxs","AriaSearchField","x","u","t","e","a","jsx","Input","m","textFieldStyles","isLoading","Icon","d","Button","f","n","SearchField"],"mappings":"+QA0CI,IAAA,CAAA,CAAAA,GAAA,CAAA,CAAA,iGAGA,CAAA,CAAA,CAAA,QACE,CAAA,CAAA,UACQ,CAAA,CAAA,IAAA,CAAA,sEAEJ,CAAA,KAAA,CAAA,0GAEJ,CAAA,CAAS,OACP,CAAQ,CAAA,MAAA,CAAA,gDACE,CAAA,qBAMU,CAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,WAAc,CAAA,CAAA,CAAA,QACd,CAAAC,OAAU,CAAA,CAAA,CAAA,UACV,CAAA,UACGC,CACL,CAAA,KAAA,CAEIC,GAACC,CAAA,CAAgB,GAAAC,IAAA,CAAAC,WAAA,CAAA,CAAA,SAAc,CAAAC,EAAA,CAAA,gBAAkCL,CAC/D,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,QAAM,CAAA,CAAAM,GAAA,CAAAC,IAAA,CAAA,CAAA,SAAU,CAAA,oDACd,CAAA,QAAY,CACdD,GAAA,CACAE,OAACC,EAAA,CACC,CAAA,CAAA,CAAAH,GAAA,CAAAI,KAAA,CAAA,CAAA,uBACc,CAAA,CAAA,CAAA,UACTC,CAAAA,CAAgB,CAAE,GAAAN,EAAA,CAAA,CAAA,CAAA,CAAA,UAAY,CAAA,CAAA,CAAAN,OAGpCa,CAAAA,CACCJ,CAAAA,CAACK,CAAAA,CAAA,CAAK,CAAA,CAAA,CAAAP,GAAA,CAAAC,IAAA,CAAA,CAAA,SAAU,CAAA,kEACd,CAAA,QAAU,CAAAD,GAAA,CAAAQ,IAAA,CAAA,CAAA,SAAU,CAAA,cAGrBC,CAAA,CAAO,CAAA,CAAA,CAAAT,GAAA,CAAAU,MAAA,CAAA,CAAA,6IACN,CAAA,aAAWT,IAAA,CAAA,CAAA,IAAA,CACT,OAAA,CAAA,QAAY,CACdD,GAAA,CACFW,UAAA,CAAA,EAEJ,CAIJC,EAAY,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,WAAc,CAAA,aAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\nimport { cn } from '@/lib/utils';\nimport {\n CancelFill,\n Loop as LoopIcon,\n Search as SearchIcon,\n} from '@accelint/icons';\nimport 'client-only';\nimport { cva } from 'cva';\nimport {\n SearchField as AriaSearchField,\n Button,\n Input,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\n\nexport interface SearchFieldProps {\n className?: string;\n /** Disables the input field. */\n isDisabled?: boolean;\n /** Displays a loading spinner. */\n isLoading?: boolean;\n /** Displays placeholder text. */\n placeholder?: string;\n /** Whether the input has a filled background or outlined. */\n variant?: 'filled' | 'outlined';\n}\n\nconst textFieldStyles = cva(\n [\n 'hide-cancel block w-full rounded-round p-s pr-[30px] pl-[35px] font-display text-body-s outline',\n ],\n {\n variants: {\n isDisabled: {\n true: 'text-disabled outline-interactive-disabled placeholder:text-disabled',\n false:\n 'text-default-light placeholder:text-default-dark hover:outline-interactive-hover focus:outline-highlight',\n },\n variant: {\n filled: 'bg-surface-raised outline-static-dark',\n outlined: 'outline-interactive',\n },\n },\n },\n);\n\nexport const SearchField = ({\n className,\n placeholder = 'Search',\n variant = 'outlined',\n isLoading = false,\n ...rest\n}: SearchFieldProps) => {\n return (\n <AriaSearchField className={cn('group relative', className)} {...rest}>\n <Icon className='fg-interactive-hover absolute top-[6px] left-[7px]'>\n <SearchIcon />\n </Icon>\n <Input\n placeholder={placeholder}\n className={({ isDisabled }) =>\n cn(textFieldStyles({ isDisabled, variant }))\n }\n />\n {isLoading ? (\n <Icon className='fg-interactive-hover absolute top-[6px] right-[8px] animate-spin'>\n <LoopIcon className='scale-x-[-1]' />\n </Icon>\n ) : (\n <Button className='fg-default-dark hover:fg-interactive-hover absolute top-[8px] right-[8px] cursor-pointer group-empty:hidden group-disabled:hidden'>\n <Icon size='small'>\n <CancelFill />\n </Icon>\n </Button>\n )}\n </AriaSearchField>\n );\n};\n\nSearchField.displayName = 'SearchField';\n"]}
1
+ {"version":3,"sources":["../../../src/components/search-field/index.tsx"],"names":["input","SearchFieldContext","x","F","props","jsx","e","SearchFieldProvider","useContextProps","ref","N","inputProps","isLoading","variant","SearchFieldStylesDefaults","rest","C","Icon","t","v","composeRenderProps","classNames","className","field","search","Search","Input","u","y","loading","Loop","Button","S","clear","CancelFill","P","SearchField"],"mappings":"8VA6Be,MAAA,CAAAA,KAAO,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,MAAS,CAAA,CAAA,CAAA,OAA4B,CAAA,CAEtDC,CAAAA,KACmD,CAAA,CAAI,CAAA,CAEpEC,iBAAA,EAAA,CAAA,CAAA,CAAAC,aAAA,CAAA,IACE,EAAA,SACA,CAAA,CAAA,CAAGC,QAEH,CAAA,CAAA,CACEC,GAACJ,CAAmB,CAAA,CAAA,CAAA,OAASK,GAAA,CAAA,CAAA,CAAA,QAC1B,CAAA,CAAA,KACH,CAEJ,CACAC,CAAAA,QAAoB,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,WAAA,CAAA,sBAsCJ,CAAA,SAAc,CAAqB,CAC/D,CAACH,GAAU,CAAA,CAAII,CAAAA,GAAuBC,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAMR,CAAkB,CAAAS,eAErE,CAAA,CAAA,CAAA,CAAA,EACE,IAAA,CAAA,CAAA,CAAA,CAAA,KACA,CAAA,UAAAC,CAAAA,CACA,CAAA,UAAAC,CAAY,CAAA,CAAA,SACZC,CAAAA,CAAUC,CAAAA,KAA0B,CAAA,OACpC,CAAA,CAAGC,CACLC,yBAAA,CAAIZ,OAEJ,CAAA,GACGa,CAAAA,CAAK,CAAA,CAAA,CAAA,OAASX,GAAA,CAAAY,IAAA,CAAA,QAAK,CAClB,CAAA,IAAA,CAAA,OAAC,CACE,QACD,CAAKT,IAAAA,CACLU,WAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAWC,CAAmBC,CAAAA,CAAAA,SAAoBC,CAChDC,kBAAAA,CAAM,CAAE,EAAA,KAAA,CAAA,CAAA,EAAAD,CAAW,CAAA,CAAA,SACrB,CAAA,CAEA,CAAA,OAAA,CAAA,CAAAjB,CAAAA,CAACY,CAAAA,CAAA,QAAK,CAAA,CAAAX,GAAWkB,CAAAA,IAAO,CAAE,CAAA,SAAWH,CAAAA,CAAAA,CAAY,CAAA,SAAQ,CAAA,CAAA,EAAA,MACvD,CAAA,OAAAhB,CAAAA,CAACoB,CAAAA,CAAA,CAAA,QAEFC,CAAApB,GACE,CAAAqB,MAAA,CAAGhB,EACJ,CAAA,CAAA,CAAA,CAAAL,GAAA,CAAAsB,KAAA,CAAA,CAAA,GAA8BP,CAAAA,CAAAA,SAAoBC,CAChDtB,kBAAAA,CAAM,CAAE,EAAA,KAAA,CAAA,CAAA,EAAAsB,CAAW,CAAA,CAAA,SACrB,CAAA,CACA,CAAA,OAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CACP,IAEEjB,CAAAA,QACE,CAAA,CAAA,CAAA,CAAA,CAAAC,GAAWuB,CAAAA,IAAQ,CAAE,CAAA,SAAWR,CAAAA,CAAAA,CAAY,CAAA,SAAS,CAAA,CAAA,EAAA,OAErD,CAAA,OAAAhB,CAAAA,CAACyB,CAAAA,CAAA,CAAA,QAGFC,CAAAzB,GACC,CAAA0B,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA1B,GAAWc,CAAAA,MAAmBC,CAAAA,CAAAA,SAAoBC,CAChDW,kBAAAA,CAAM,CAAE,EAAA,KAAA,CAAA,CAAA,EAAAX,CAAW,CAAA,CAAA,SACrB,CAAA,CAEA,CAAA,OAAA,CAAAjB,CAAAA,CAACY,CAAAA,CAAA,CACC,QAAA,CAAAZ,GAAAA,CAAC6B,IAAAA,CAAA,CAAA,QAIT,CAAA5B,GACF,CAEJ6B,UAEAC,CAAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,WAAA,CAC1BA,aAAuB7B,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport type { ProviderProps } from '@/lib/types';\nimport { CancelFill, Loop, Search } from '@accelint/icons';\nimport { createContext } from 'react';\nimport {\n SearchField as AriaSearchField,\n Button,\n type ContextValue,\n Input,\n composeRenderProps,\n useContextProps,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { SearchFieldStyles, SearchFieldStylesDefaults } from './styles';\nimport type { SearchFieldProps } from './types';\n\nconst { field, input, search, loading, clear } = SearchFieldStyles();\n\nexport const SearchFieldContext =\n createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);\n\nfunction SearchFieldProvider({\n children,\n ...props\n}: ProviderProps<SearchFieldProps>) {\n return (\n <SearchFieldContext.Provider value={props}>\n {children}\n </SearchFieldContext.Provider>\n );\n}\nSearchFieldProvider.displayName = 'SearchField.Provider';\n\n/**\n * SearchField - A customizable search input component built on React Aria Components\n *\n * Provides a search input with integrated search icon, loading state, and clear functionality.\n * Supports two visual variants (filled/outlined), and granular styling control.\n *\n * @example\n * // Basic search field\n * <SearchField placeholder=\"Search...\" />\n *\n * @example\n * // Filled variant with custom styling\n * <SearchField\n * variant=\"filled\"\n * placeholder=\"Search products\"\n * classNames={{\n * input: \"bg-gray-100\",\n * searchIcon: \"text-blue-600\"\n * }}\n * />\n *\n * @example\n * // With event handlers\n * <SearchField\n * placeholder=\"Type to search\"\n * onSubmit={(value) => console.log('Search:', value)}\n * onChange={(value) => setQuery(value)}\n * />\n *\n * @example\n * // Using context provider for default props\n * <SearchField.Provider variant=\"filled\">\n * <SearchField placeholder=\"Search 1\" />\n * <SearchField placeholder=\"Search 2\" />\n * </SearchField.Provider>\n */\nexport function SearchField({ ref, ...props }: SearchFieldProps) {\n [props, ref] = useContextProps(props, ref ?? null, SearchFieldContext);\n\n const {\n classNames,\n inputProps,\n isLoading = false,\n variant = SearchFieldStylesDefaults.variant,\n ...rest\n } = props;\n\n return (\n <Icon.Provider size='small'>\n <AriaSearchField\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n field({ className, variant }),\n )}\n >\n <Icon className={search({ className: classNames?.search, variant })}>\n <Search />\n </Icon>\n <Input\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n input({ className, variant }),\n )}\n type='search'\n />\n {isLoading ? (\n <Icon\n className={loading({ className: classNames?.loading, variant })}\n >\n <Loop />\n </Icon>\n ) : (\n <Button\n className={composeRenderProps(classNames?.clear, (className) =>\n clear({ className, variant }),\n )}\n >\n <Icon>\n <CancelFill />\n </Icon>\n </Button>\n )}\n </AriaSearchField>\n </Icon.Provider>\n );\n}\n\nSearchField.displayName = 'SearchField';\nSearchField.Provider = SearchFieldProvider;\n"]}
@@ -0,0 +1,53 @@
1
+ import * as tailwind_variants from 'tailwind-variants';
2
+
3
+ declare const SearchFieldStylesDefaults: {
4
+ readonly variant: "outlined";
5
+ };
6
+ declare const SearchFieldStyles: tailwind_variants.TVReturnType<{
7
+ variant: {
8
+ filled: {
9
+ field: string;
10
+ };
11
+ outlined: {
12
+ field: string;
13
+ };
14
+ };
15
+ }, {
16
+ field: string[];
17
+ input: string[];
18
+ clear: string[];
19
+ loading: string;
20
+ search: string;
21
+ }, undefined, {
22
+ variant: {
23
+ filled: {
24
+ field: string;
25
+ };
26
+ outlined: {
27
+ field: string;
28
+ };
29
+ };
30
+ }, {
31
+ field: string[];
32
+ input: string[];
33
+ clear: string[];
34
+ loading: string;
35
+ search: string;
36
+ }, tailwind_variants.TVReturnType<{
37
+ variant: {
38
+ filled: {
39
+ field: string;
40
+ };
41
+ outlined: {
42
+ field: string;
43
+ };
44
+ };
45
+ }, {
46
+ field: string[];
47
+ input: string[];
48
+ clear: string[];
49
+ loading: string;
50
+ search: string;
51
+ }, undefined, unknown, unknown, undefined>>;
52
+
53
+ export { SearchFieldStyles, SearchFieldStylesDefaults };
@@ -0,0 +1,2 @@
1
+ import {tv}from'./../../lib/utils.js';const i={variant:"outlined"},l=tv({slots:{field:["group/search-field fg-default-light flex items-center gap-s rounded-round p-s outline","focus-within:outline-highlight","hover:outline-interactive-hover","disabled:fg-disabled disabled:placeholder:fg-disabled disabled:cursor-not-allowed disabled:outline-interactive-disabled"],input:["hide-cancel block w-full font-display text-body-s outline-none","placeholder:text-default-dark","disabled:cursor-not-allowed"],clear:["fg-interactive cursor-pointer","focus:fg-interactive-hover","hover:fg-interactive-hover","group-empty/search-field:invisible group-disabled/search-field:invisible"],loading:"motion-safe:animate-spin",search:""},variants:{variant:{filled:{field:"bg-surface-raised outline-static-dark"},outlined:{field:"outline-interactive"}}},defaultVariants:i});export{l as SearchFieldStyles,i as SearchFieldStylesDefaults};//# sourceMappingURL=styles.js.map
2
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/search-field/styles.ts"],"names":["e"],"mappings":"sCAeE,MAAA,CAAS,CAAA,CAAA,OAAA,CACX,UAGE,CAAA,CAAA,CAAO,CACLA,EAAA,CAAA,CAAA,KACE,CAAA,CAAA,KAAA,CAAA,CAAA,uFACA,CAAA,gCACA,CAAA,iCACA,CAAA,yHAGA,CAAA,CAAA,KAAA,CAAA,CAAA,gEACA,CAAA,+BACA,CAAA,6BAGA,CAAA,CAAA,KAAA,CAAA,CAAA,+BACA,CAAA,4BACA,CAAA,4BACA,CAAA,0EAEO,CAAA,CAAA,OAAA,CAAA,0BAEX,CAAA,MACA,CAAA,EAAA,CAAU,CACR,QAAS,CACP,CAAA,OACE,CAAA,CAAA,MAAO,CAAA,CAAA,KAAA,CAAA,uCAET,CAAU,CACR,QAAO,CAAA,CAAA,KAAA,CAAA,qBAIb,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const SearchFieldStylesDefaults = {\n variant: 'outlined',\n} as const;\n\nexport const SearchFieldStyles = tv({\n slots: {\n field: [\n 'group/search-field fg-default-light flex items-center gap-s rounded-round p-s outline',\n 'focus-within:outline-highlight',\n 'hover:outline-interactive-hover',\n 'disabled:fg-disabled disabled:placeholder:fg-disabled disabled:cursor-not-allowed disabled:outline-interactive-disabled',\n ],\n input: [\n 'hide-cancel block w-full font-display text-body-s outline-none',\n 'placeholder:text-default-dark',\n 'disabled:cursor-not-allowed',\n ],\n clear: [\n 'fg-interactive cursor-pointer',\n 'focus:fg-interactive-hover',\n 'hover:fg-interactive-hover',\n 'group-empty/search-field:invisible group-disabled/search-field:invisible',\n ],\n loading: 'motion-safe:animate-spin',\n search: '',\n },\n variants: {\n variant: {\n filled: {\n field: 'bg-surface-raised outline-static-dark',\n },\n outlined: {\n field: 'outline-interactive',\n },\n },\n },\n defaultVariants: SearchFieldStylesDefaults,\n});\n"]}