@simpleapps-com/augur-web 2026.11.1 → 2026.11.3

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 (167) hide show
  1. package/EXPORTS.md +1 -1
  2. package/README.md +7 -2
  3. package/dist/add-to-cart-button.cjs +3 -2
  4. package/dist/add-to-cart-button.cjs.map +1 -1
  5. package/dist/add-to-cart-button.js +2 -1
  6. package/dist/add-to-cart-button.js.map +1 -1
  7. package/dist/bin-scan.d.ts +23 -0
  8. package/dist/bin-scan.d.ts.map +1 -0
  9. package/dist/button.d.ts +1 -1
  10. package/dist/{chunk-32XB3REY.cjs → chunk-6SSR5Z6X.cjs} +8 -5
  11. package/dist/chunk-6SSR5Z6X.cjs.map +1 -0
  12. package/dist/{chunk-RCUKSVMF.js → chunk-6USFUHWW.js} +9 -14
  13. package/dist/chunk-6USFUHWW.js.map +1 -0
  14. package/dist/{chunk-WJUDOEVB.cjs → chunk-7RDA26CL.cjs} +7 -7
  15. package/dist/{chunk-WJUDOEVB.cjs.map → chunk-7RDA26CL.cjs.map} +1 -1
  16. package/dist/{chunk-UMNTUD2P.js → chunk-AC3OCGDU.js} +6 -8
  17. package/dist/chunk-AC3OCGDU.js.map +1 -0
  18. package/dist/{chunk-MOC5N2N4.js → chunk-BSRLAXZ2.js} +9 -6
  19. package/dist/chunk-BSRLAXZ2.js.map +1 -0
  20. package/dist/{chunk-UB7HYAAC.js → chunk-EBCKH6JE.js} +6 -3
  21. package/dist/chunk-EBCKH6JE.js.map +1 -0
  22. package/dist/{chunk-WFMP6TZN.js → chunk-I6LMIYVF.js} +3 -3
  23. package/dist/{chunk-RGJT67PN.js → chunk-IDCDOE2L.js} +6 -3
  24. package/dist/chunk-IDCDOE2L.js.map +1 -0
  25. package/dist/{chunk-MXSQYVCK.js → chunk-IXQFZJSN.js} +7 -3
  26. package/dist/chunk-IXQFZJSN.js.map +1 -0
  27. package/dist/{chunk-76RSVRGB.cjs → chunk-KVJQIZSM.cjs} +10 -15
  28. package/dist/chunk-KVJQIZSM.cjs.map +1 -0
  29. package/dist/{chunk-OQV27VC5.cjs → chunk-L7JN7ED7.cjs} +37 -37
  30. package/dist/chunk-L7JN7ED7.cjs.map +1 -0
  31. package/dist/{chunk-JXW4XE2P.cjs → chunk-N57EZBPE.cjs} +10 -7
  32. package/dist/chunk-N57EZBPE.cjs.map +1 -0
  33. package/dist/chunk-NBXA42AW.cjs +534 -0
  34. package/dist/chunk-NBXA42AW.cjs.map +1 -0
  35. package/dist/chunk-NSMOT7GD.js +534 -0
  36. package/dist/chunk-NSMOT7GD.js.map +1 -0
  37. package/dist/{chunk-BXMTQGKV.cjs → chunk-OJS2B6U2.cjs} +7 -3
  38. package/dist/chunk-OJS2B6U2.cjs.map +1 -0
  39. package/dist/{chunk-5VMEEKZ5.cjs → chunk-SJGSBMMN.cjs} +7 -9
  40. package/dist/chunk-SJGSBMMN.cjs.map +1 -0
  41. package/dist/{chunk-PFEPE5UE.js → chunk-TEDFINZP.js} +2 -2
  42. package/dist/{chunk-YTBB63IE.cjs → chunk-VCFKYOVH.cjs} +3 -3
  43. package/dist/{chunk-YTBB63IE.cjs.map → chunk-VCFKYOVH.cjs.map} +1 -1
  44. package/dist/{chunk-Z57QBVUC.cjs → chunk-VXVOYZBN.cjs} +8 -5
  45. package/dist/chunk-VXVOYZBN.cjs.map +1 -0
  46. package/dist/{chunk-JWTTXZDS.js → chunk-YJDVFOVR.js} +40 -40
  47. package/dist/chunk-YJDVFOVR.js.map +1 -0
  48. package/dist/command.cjs +3 -3
  49. package/dist/command.cjs.map +1 -1
  50. package/dist/command.d.ts.map +1 -1
  51. package/dist/command.js +2 -2
  52. package/dist/command.js.map +1 -1
  53. package/dist/confirm-dialog.cjs +3 -2
  54. package/dist/confirm-dialog.cjs.map +1 -1
  55. package/dist/confirm-dialog.js +2 -1
  56. package/dist/confirm-dialog.js.map +1 -1
  57. package/dist/data-table.cjs +65 -46
  58. package/dist/data-table.cjs.map +1 -1
  59. package/dist/data-table.d.ts.map +1 -1
  60. package/dist/data-table.js +59 -40
  61. package/dist/data-table.js.map +1 -1
  62. package/dist/detail-panel.cjs +71 -63
  63. package/dist/detail-panel.cjs.map +1 -1
  64. package/dist/detail-panel.d.ts.map +1 -1
  65. package/dist/detail-panel.js +70 -62
  66. package/dist/detail-panel.js.map +1 -1
  67. package/dist/dropdown-menu.cjs +3 -2
  68. package/dist/dropdown-menu.cjs.map +1 -1
  69. package/dist/dropdown-menu.d.ts.map +1 -1
  70. package/dist/dropdown-menu.js +2 -1
  71. package/dist/financing-widget.cjs +4 -1
  72. package/dist/financing-widget.cjs.map +1 -1
  73. package/dist/financing-widget.d.ts.map +1 -1
  74. package/dist/financing-widget.js +4 -1
  75. package/dist/financing-widget.js.map +1 -1
  76. package/dist/form-field.cjs +3 -2
  77. package/dist/form-field.cjs.map +1 -1
  78. package/dist/form-field.d.ts.map +1 -1
  79. package/dist/form-field.js +2 -1
  80. package/dist/form-input.cjs +4 -3
  81. package/dist/form-input.cjs.map +1 -1
  82. package/dist/form-input.d.ts.map +1 -1
  83. package/dist/form-input.js +3 -2
  84. package/dist/form-select.cjs +5 -4
  85. package/dist/form-select.cjs.map +1 -1
  86. package/dist/form-select.js +4 -3
  87. package/dist/form-textarea.cjs +4 -3
  88. package/dist/form-textarea.cjs.map +1 -1
  89. package/dist/form-textarea.d.ts.map +1 -1
  90. package/dist/form-textarea.js +3 -2
  91. package/dist/gtm.cjs +3 -3
  92. package/dist/gtm.js +2 -2
  93. package/dist/pagination.cjs +3 -3
  94. package/dist/pagination.d.ts +1 -1
  95. package/dist/pagination.d.ts.map +1 -1
  96. package/dist/pagination.js +2 -2
  97. package/dist/payment-modal.cjs +52 -34
  98. package/dist/payment-modal.cjs.map +1 -1
  99. package/dist/payment-modal.d.ts +4 -4
  100. package/dist/payment-modal.d.ts.map +1 -1
  101. package/dist/payment-modal.js +52 -34
  102. package/dist/payment-modal.js.map +1 -1
  103. package/dist/popover.cjs +4 -4
  104. package/dist/popover.cjs.map +1 -1
  105. package/dist/popover.js +3 -3
  106. package/dist/popover.js.map +1 -1
  107. package/dist/price.cjs +2 -2
  108. package/dist/price.js +1 -1
  109. package/dist/provider.cjs +3 -3
  110. package/dist/provider.js +2 -2
  111. package/dist/quantity-input.cjs +125 -111
  112. package/dist/quantity-input.cjs.map +1 -1
  113. package/dist/quantity-input.d.ts +16 -5
  114. package/dist/quantity-input.d.ts.map +1 -1
  115. package/dist/quantity-input.js +127 -113
  116. package/dist/quantity-input.js.map +1 -1
  117. package/dist/resource-tabs.cjs +10 -5
  118. package/dist/resource-tabs.cjs.map +1 -1
  119. package/dist/resource-tabs.d.ts +1 -1
  120. package/dist/resource-tabs.d.ts.map +1 -1
  121. package/dist/resource-tabs.js +10 -5
  122. package/dist/resource-tabs.js.map +1 -1
  123. package/dist/rules.d.ts +315 -17
  124. package/dist/rules.d.ts.map +1 -1
  125. package/dist/select.cjs +3 -2
  126. package/dist/select.cjs.map +1 -1
  127. package/dist/select.d.ts.map +1 -1
  128. package/dist/select.js +2 -1
  129. package/dist/separator.cjs +8 -9
  130. package/dist/separator.cjs.map +1 -1
  131. package/dist/separator.d.ts.map +1 -1
  132. package/dist/separator.js +7 -8
  133. package/dist/separator.js.map +1 -1
  134. package/dist/session-replay.cjs +2 -2
  135. package/dist/session-replay.js +1 -1
  136. package/dist/spinner.cjs +3 -2
  137. package/dist/spinner.cjs.map +1 -1
  138. package/dist/spinner.d.ts +1 -1
  139. package/dist/spinner.d.ts.map +1 -1
  140. package/dist/spinner.js +2 -1
  141. package/dist/stock-label.cjs +28 -33
  142. package/dist/stock-label.cjs.map +1 -1
  143. package/dist/stock-label.d.ts.map +1 -1
  144. package/dist/stock-label.js +30 -35
  145. package/dist/stock-label.js.map +1 -1
  146. package/llms.txt +3 -2
  147. package/package.json +9 -7
  148. package/dist/chunk-32XB3REY.cjs.map +0 -1
  149. package/dist/chunk-5VMEEKZ5.cjs.map +0 -1
  150. package/dist/chunk-76RSVRGB.cjs.map +0 -1
  151. package/dist/chunk-BXMTQGKV.cjs.map +0 -1
  152. package/dist/chunk-EEJYDSXR.cjs +0 -220
  153. package/dist/chunk-EEJYDSXR.cjs.map +0 -1
  154. package/dist/chunk-JWTTXZDS.js.map +0 -1
  155. package/dist/chunk-JXW4XE2P.cjs.map +0 -1
  156. package/dist/chunk-MOC5N2N4.js.map +0 -1
  157. package/dist/chunk-MXSQYVCK.js.map +0 -1
  158. package/dist/chunk-OQV27VC5.cjs.map +0 -1
  159. package/dist/chunk-RCUKSVMF.js.map +0 -1
  160. package/dist/chunk-RGJT67PN.js.map +0 -1
  161. package/dist/chunk-UB7HYAAC.js.map +0 -1
  162. package/dist/chunk-UMNTUD2P.js.map +0 -1
  163. package/dist/chunk-VI2IE6RC.js +0 -220
  164. package/dist/chunk-VI2IE6RC.js.map +0 -1
  165. package/dist/chunk-Z57QBVUC.cjs.map +0 -1
  166. /package/dist/{chunk-WFMP6TZN.js.map → chunk-I6LMIYVF.js.map} +0 -0
  167. /package/dist/{chunk-PFEPE5UE.js.map → chunk-TEDFINZP.js.map} +0 -0
package/EXPORTS.md CHANGED
@@ -198,7 +198,7 @@
198
198
 
199
199
  | Export | Kind | Description |
200
200
  |--------|------|-------------|
201
- | `Spinner` | const | Animated SVG loading spinner. Sizes: `sm` (12px), `md` (16px), `lg` (24px). |
201
+ | `Spinner` | const | Animated SVG loading spinner. Sizes: `sm` (12px), `md` (16px, the default), `lg` (24px). |
202
202
 
203
203
  ## `@simpleapps-com/augur-web/table`
204
204
 
package/README.md CHANGED
@@ -22,8 +22,13 @@ component is a peer dependency of that component.
22
22
  ## Development
23
23
 
24
24
  TypeScript and TSX in `src/`, one tsup entry per component, built to `dist/` (ESM and CJS) with
25
- `"use client"` kept. The decisions are proved (`src/rules.ts`; model `models/AugurWeb.dfy`, link
26
- `models/links/augur-web-rules.dfy`); the components are tested under jsdom.
25
+ `"use client"` kept. The decisions are proved (`src/rules.ts` and `src/bin-scan.ts`; model
26
+ `models/AugurWeb.dfy`, links `models/links/augur-web-rules.dfy` and `augur-web-bin-scan.dfy`);
27
+ the components are tested under jsdom, one per test worker (`isolate: false`, 2026-11-08:
28
+ 3.3 s, was 8.2 s). QuantityInput's quantities are integer counts of 10^-decimals units
29
+ (`@atlas/utils/fixed`, atlas#78): its hook `useQuantityInput` only holds state and acts on the
30
+ rules, and its render holds no decision. A component's other decisions not yet in a rule are
31
+ listed by `pnpm -C repo proofs:coverage --list`.
27
32
 
28
33
  ```bash
29
34
  pnpm -C repo/packages/augur-web test
@@ -2,7 +2,8 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunk5VMEEKZ5cjs = require('./chunk-5VMEEKZ5.cjs');
5
+ var _chunkSJGSBMMNcjs = require('./chunk-SJGSBMMN.cjs');
6
+ require('./chunk-NBXA42AW.cjs');
6
7
 
7
8
 
8
9
  var _chunkVL6L4GDAcjs = require('./chunk-VL6L4GDA.cjs');
@@ -30,7 +31,7 @@ var AddToCartButton = React.memo(
30
31
  disabled: disabled || loading,
31
32
  className: _web.cn.call(void 0, "gap-2", className),
32
33
  ...props,
33
- children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5VMEEKZ5cjs.Spinner, { size: "sm" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
34
+ children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJGSBMMNcjs.Spinner, { size: "sm" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
34
35
  showIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lu.LuShoppingCart, { className: "h-4 w-4" }),
35
36
  _nullishCoalesce(children, () => ( label))
36
37
  ] })
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/add-to-cart-button.cjs","../src/add-to-cart-button.tsx"],"names":[],"mappings":"AAAA,2cAAY;AACZ,YAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACPA,2EAAuB;AACvB,oCAA+B;AAC/B,sDAAmB;AAoCP,+CAAA;AAtBZ,IAAM,gBAAA,EAAwB,KAAA,CAAA,IAAA;AAAA,EACtB,KAAA,CAAA,UAAA;AAAA,IACJ,CACE;AAAA,MACE,QAAA,EAAU,KAAA;AAAA,MACV,MAAA,EAAQ,aAAA;AAAA,MACR,SAAA,EAAW,IAAA;AAAA,MACX,QAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAG;AAAA,IACL,CAAA,EACA,GAAA,EAAA,GACG;AACH,MAAA,uBACE,6BAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,QAAA,EAAU,SAAA,GAAY,OAAA;AAAA,UACtB,SAAA,EAAW,qBAAA,OAAG,EAAS,SAAS,CAAA;AAAA,UAC/B,GAAG,KAAA;AAAA,UAEH,QAAA,EAAA,QAAA,kBACC,6BAAA,yBAAC,EAAA,EAAQ,IAAA,EAAK,KAAA,CAAK,EAAA,kBAEnB,8BAAA,oBAAA,EAAA,EACG,QAAA,EAAA;AAAA,YAAA,SAAA,mBAAY,6BAAA,kBAAC,EAAA,EAAe,SAAA,EAAU,UAAA,CAAU,CAAA;AAAA,6BAChD,QAAA,UAAY;AAAA,UAAA,EAAA,CACf;AAAA,QAAA;AAAA,MAEJ,CAAA;AAAA,IAEJ;AAAA,EACF;AACF,CAAA;AACA,eAAA,CAAgB,YAAA,EAAc,iBAAA;ADV9B;AACE;AACF,0CAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/add-to-cart-button.cjs","sourcesContent":[null,"\"use client\";\n\nimport * as React from \"react\";\nimport { LuShoppingCart } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { Button, type ButtonProps } from \"./button\";\nimport { Spinner } from \"./spinner\";\n\nexport interface AddToCartButtonProps extends Pick<\n ButtonProps,\n \"variant\" | \"size\" | \"disabled\" | \"className\" | \"onClick\"\n> {\n loading?: boolean;\n label?: string;\n showIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst AddToCartButton = React.memo(\n React.forwardRef<HTMLButtonElement, AddToCartButtonProps>(\n (\n {\n loading = false,\n label = \"Add to Cart\",\n showIcon = true,\n disabled,\n children,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <Button\n ref={ref}\n disabled={disabled || loading}\n className={cn(\"gap-2\", className)}\n {...props}\n >\n {loading ? (\n <Spinner size=\"sm\" />\n ) : (\n <>\n {showIcon && <LuShoppingCart className=\"h-4 w-4\" />}\n {children ?? label}\n </>\n )}\n </Button>\n );\n },\n ),\n);\nAddToCartButton.displayName = \"AddToCartButton\";\n\nexport { AddToCartButton };\n"]}
1
+ {"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/add-to-cart-button.cjs","../src/add-to-cart-button.tsx"],"names":[],"mappings":"AAAA,2cAAY;AACZ,YAAY;AACZ;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACRA,2EAAuB;AACvB,oCAA+B;AAC/B,sDAAmB;AAoCP,+CAAA;AAtBZ,IAAM,gBAAA,EAAwB,KAAA,CAAA,IAAA;AAAA,EACtB,KAAA,CAAA,UAAA;AAAA,IACJ,CACE;AAAA,MACE,QAAA,EAAU,KAAA;AAAA,MACV,MAAA,EAAQ,aAAA;AAAA,MACR,SAAA,EAAW,IAAA;AAAA,MACX,QAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAG;AAAA,IACL,CAAA,EACA,GAAA,EAAA,GACG;AACH,MAAA,uBACE,6BAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,QAAA,EAAU,SAAA,GAAY,OAAA;AAAA,UACtB,SAAA,EAAW,qBAAA,OAAG,EAAS,SAAS,CAAA;AAAA,UAC/B,GAAG,KAAA;AAAA,UAEH,QAAA,EAAA,QAAA,kBACC,6BAAA,yBAAC,EAAA,EAAQ,IAAA,EAAK,KAAA,CAAK,EAAA,kBAEnB,8BAAA,oBAAA,EAAA,EACG,QAAA,EAAA;AAAA,YAAA,SAAA,mBAAY,6BAAA,kBAAC,EAAA,EAAe,SAAA,EAAU,UAAA,CAAU,CAAA;AAAA,6BAChD,QAAA,UAAY;AAAA,UAAA,EAAA,CACf;AAAA,QAAA;AAAA,MAEJ,CAAA;AAAA,IAEJ;AAAA,EACF;AACF,CAAA;AACA,eAAA,CAAgB,YAAA,EAAc,iBAAA;ADT9B;AACE;AACF,0CAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/add-to-cart-button.cjs","sourcesContent":[null,"\"use client\";\n\nimport * as React from \"react\";\nimport { LuShoppingCart } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { Button, type ButtonProps } from \"./button\";\nimport { Spinner } from \"./spinner\";\n\nexport interface AddToCartButtonProps extends Pick<\n ButtonProps,\n \"variant\" | \"size\" | \"disabled\" | \"className\" | \"onClick\"\n> {\n loading?: boolean;\n label?: string;\n showIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst AddToCartButton = React.memo(\n React.forwardRef<HTMLButtonElement, AddToCartButtonProps>(\n (\n {\n loading = false,\n label = \"Add to Cart\",\n showIcon = true,\n disabled,\n children,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <Button\n ref={ref}\n disabled={disabled || loading}\n className={cn(\"gap-2\", className)}\n {...props}\n >\n {loading ? (\n <Spinner size=\"sm\" />\n ) : (\n <>\n {showIcon && <LuShoppingCart className=\"h-4 w-4\" />}\n {children ?? label}\n </>\n )}\n </Button>\n );\n },\n ),\n);\nAddToCartButton.displayName = \"AddToCartButton\";\n\nexport { AddToCartButton };\n"]}
@@ -2,7 +2,8 @@
2
2
  "use client";
3
3
  import {
4
4
  Spinner
5
- } from "./chunk-UMNTUD2P.js";
5
+ } from "./chunk-AC3OCGDU.js";
6
+ import "./chunk-NSMOT7GD.js";
6
7
  import {
7
8
  Button
8
9
  } from "./chunk-QICSGVX3.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/add-to-cart-button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { LuShoppingCart } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { Button, type ButtonProps } from \"./button\";\nimport { Spinner } from \"./spinner\";\n\nexport interface AddToCartButtonProps extends Pick<\n ButtonProps,\n \"variant\" | \"size\" | \"disabled\" | \"className\" | \"onClick\"\n> {\n loading?: boolean;\n label?: string;\n showIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst AddToCartButton = React.memo(\n React.forwardRef<HTMLButtonElement, AddToCartButtonProps>(\n (\n {\n loading = false,\n label = \"Add to Cart\",\n showIcon = true,\n disabled,\n children,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <Button\n ref={ref}\n disabled={disabled || loading}\n className={cn(\"gap-2\", className)}\n {...props}\n >\n {loading ? (\n <Spinner size=\"sm\" />\n ) : (\n <>\n {showIcon && <LuShoppingCart className=\"h-4 w-4\" />}\n {children ?? label}\n </>\n )}\n </Button>\n );\n },\n ),\n);\nAddToCartButton.displayName = \"AddToCartButton\";\n\nexport { AddToCartButton };\n"],"mappings":";;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AAoCP,SAEA,UAFA,KAEA,YAFA;AAtBZ,IAAM,kBAAwB;AAAA,EACtB;AAAA,IACJ,CACE;AAAA,MACE,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,GACA,QACG;AACH,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,UAAU,YAAY;AAAA,UACtB,WAAW,GAAG,SAAS,SAAS;AAAA,UAC/B,GAAG;AAAA,UAEH,oBACC,oBAAC,WAAQ,MAAK,MAAK,IAEnB,iCACG;AAAA,wBAAY,oBAAC,kBAAe,WAAU,WAAU;AAAA,YAChD,YAAY;AAAA,aACf;AAAA;AAAA,MAEJ;AAAA,IAEJ;AAAA,EACF;AACF;AACA,gBAAgB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/add-to-cart-button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { LuShoppingCart } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { Button, type ButtonProps } from \"./button\";\nimport { Spinner } from \"./spinner\";\n\nexport interface AddToCartButtonProps extends Pick<\n ButtonProps,\n \"variant\" | \"size\" | \"disabled\" | \"className\" | \"onClick\"\n> {\n loading?: boolean;\n label?: string;\n showIcon?: boolean;\n children?: React.ReactNode;\n}\n\nconst AddToCartButton = React.memo(\n React.forwardRef<HTMLButtonElement, AddToCartButtonProps>(\n (\n {\n loading = false,\n label = \"Add to Cart\",\n showIcon = true,\n disabled,\n children,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <Button\n ref={ref}\n disabled={disabled || loading}\n className={cn(\"gap-2\", className)}\n {...props}\n >\n {loading ? (\n <Spinner size=\"sm\" />\n ) : (\n <>\n {showIcon && <LuShoppingCart className=\"h-4 w-4\" />}\n {children ?? label}\n </>\n )}\n </Button>\n );\n },\n ),\n);\nAddToCartButton.displayName = \"AddToCartButton\";\n\nexport { AddToCartButton };\n"],"mappings":";;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AAoCP,SAEA,UAFA,KAEA,YAFA;AAtBZ,IAAM,kBAAwB;AAAA,EACtB;AAAA,IACJ,CACE;AAAA,MACE,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,GACA,QACG;AACH,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,UAAU,YAAY;AAAA,UACtB,WAAW,GAAG,SAAS,SAAS;AAAA,UAC/B,GAAG;AAAA,UAEH,oBACC,oBAAC,WAAQ,MAAK,MAAK,IAEnB,iCACG;AAAA,wBAAY,oBAAC,kBAAe,WAAU,WAAU;AAAA,YAChD,YAAY;AAAA,aACf;AAAA;AAAA,MAEJ;AAAA,IAEJ;AAAA,EACF;AACF;AACA,gBAAgB,cAAc;","names":[]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * A "?" or "&" at `k`, "Bin=" right after it, and a value character (not "&") after that: what
3
+ * `[?&]Bin=[^&]` matches there.
4
+ *
5
+ * @ensures result ⟺ s[k] ∈ {?, &} ∧ s[k+1 ..] starts with "Bin=" ∧ s[k+5] is a char ≠ "&"
6
+ */
7
+ export declare function binMarkAt(s: string, k: number): boolean;
8
+ /**
9
+ * The first "?Bin=" or "&Bin=" from index `i` with a value after it, or −1 (the regex skips a
10
+ * mark with an empty value and keeps searching).
11
+ *
12
+ * @ensures result is the first k ≥ i with k + 6 ≤ |s| where `binMarkAt(s, k)`, else −1 —
13
+ * exactly the model's BinAt; binMarkAt is spelled out so importers can read the contract
14
+ */
15
+ export declare function binAt(s: string, i: number): number;
16
+ /**
17
+ * The text after a "?Bin=" mark at `k`, or "" when no mark fits there (`binAt` never gives
18
+ * such a k; the guard keeps the slice in range for the proof).
19
+ *
20
+ * @ensures result = s[k + 5 ..] when 0 ≤ k ∧ k + 5 ≤ |s|, else ""
21
+ */
22
+ export declare function afterBinMark(s: string, k: number): string;
23
+ //# sourceMappingURL=bin-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin-scan.d.ts","sourceRoot":"","sources":["../src/bin-scan.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAMzD"}
package/dist/button.d.ts CHANGED
@@ -5,7 +5,7 @@ import { type VariantProps } from "class-variance-authority";
5
5
  * secondary, ghost, link. Sizes: default, sm, lg, icon.
6
6
  */
7
7
  declare const buttonVariants: (props?: ({
8
- variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
8
+ variant?: "default" | "outline" | "ghost" | "link" | "destructive" | "secondary" | null | undefined;
9
9
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
10
10
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
11
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -1,20 +1,23 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _chunkBXMTQGKVcjs = require('./chunk-BXMTQGKV.cjs');
4
+ var _chunkOJS2B6U2cjs = require('./chunk-OJS2B6U2.cjs');
5
5
 
6
6
 
7
7
  var _chunk7EXXNELXcjs = require('./chunk-7EXXNELX.cjs');
8
8
 
9
+
10
+ var _chunkNBXA42AWcjs = require('./chunk-NBXA42AW.cjs');
11
+
9
12
  // src/form-input.tsx
10
13
  var _react = require('react'); var React = _interopRequireWildcard(_react);
11
14
  var _web = require('@simpleapps-com/augur-utils/web');
12
15
  var _jsxruntime = require('react/jsx-runtime');
13
16
  var FormInput = React.forwardRef(
14
17
  ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {
15
- const htmlFor = _nullishCoalesce(_nullishCoalesce(id, () => ( name)), () => ( ""));
18
+ const htmlFor = _chunkNBXA42AWcjs.fieldId.call(void 0, id, name);
16
19
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17
- _chunkBXMTQGKVcjs.FormField,
20
+ _chunkOJS2B6U2cjs.FormField,
18
21
  {
19
22
  label,
20
23
  htmlFor,
@@ -31,4 +34,4 @@ FormInput.displayName = "FormInput";
31
34
 
32
35
 
33
36
  exports.FormInput = FormInput;
34
- //# sourceMappingURL=chunk-32XB3REY.cjs.map
37
+ //# sourceMappingURL=chunk-6SSR5Z6X.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-6SSR5Z6X.cjs","../src/form-input.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACTA,2EAAuB;AACvB,sDAAmB;AAgCX,+CAAA;AAZR,IAAM,UAAA,EAAkB,KAAA,CAAA,UAAA;AAAA,EACtB,CAAC,EAAE,KAAA,EAAO,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,SAAA,EAAW,EAAA,EAAI,IAAA,EAAM,GAAG,MAAM,CAAA,EAAG,GAAA,EAAA,GAAQ;AAC5E,IAAA,MAAM,QAAA,EAAU,uCAAA,EAAQ,EAAI,IAAI,CAAA;AAEhC,IAAA,uBACE,6BAAA;AAAA,MAAC,2BAAA;AAAA,MAAA;AAAA,QACC,KAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,QACA,SAAA,EAAW,qBAAA,QAAG,EAAU,SAAS,CAAA;AAAA,QAEjC,QAAA,kBAAA,6BAAA,uBAAC,EAAA,EAAM,GAAA,EAAU,EAAA,EAAI,OAAA,EAAS,IAAA,EAAa,GAAG,MAAA,CAAO;AAAA,MAAA;AAAA,IACvD,CAAA;AAAA,EAEJ;AACF,CAAA;AACA,SAAA,CAAU,YAAA,EAAc,WAAA;ADRxB;AACA;AACE;AACF,8BAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-6SSR5Z6X.cjs","sourcesContent":[null,"\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport { Input } from \"./input\";\nimport { fieldId } from \"./rules\";\n\nexport interface FormInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label: string;\n error?: string;\n required?: boolean;\n gridSpan?: string;\n}\n\n/**\n * Labeled text input with error display. Composes FormField + Input.\n *\n * @example\n * ```tsx\n * <FormInput label=\"Email\" name=\"email\" type=\"email\" required error={errors.email} />\n * ```\n */\nconst FormInput = React.forwardRef<HTMLInputElement, FormInputProps>(\n ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {\n const htmlFor = fieldId(id, name);\n\n return (\n <FormField\n label={label}\n htmlFor={htmlFor}\n required={required}\n error={error}\n className={cn(gridSpan, className)}\n >\n <Input ref={ref} id={htmlFor} name={name} {...props} />\n </FormField>\n );\n },\n);\nFormInput.displayName = \"FormInput\";\n\nexport { FormInput };\n"]}
@@ -1,4 +1,8 @@
1
1
  "use client";
2
+ import {
3
+ selectContentClass,
4
+ selectViewportClass
5
+ } from "./chunk-NSMOT7GD.js";
2
6
 
3
7
  // src/select.tsx
4
8
  import * as React from "react";
@@ -45,29 +49,20 @@ var SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) =>
45
49
  }
46
50
  ));
47
51
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
48
- var SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
52
+ var SelectContent = React.forwardRef(({ className, children, position, ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
49
53
  SelectPrimitive.Content,
50
54
  {
51
55
  ref,
52
56
  className: cn(
53
57
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",
54
- position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
58
+ selectContentClass(position ?? "popper"),
55
59
  className
56
60
  ),
57
- position,
61
+ position: position ?? "popper",
58
62
  ...props,
59
63
  children: [
60
64
  /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
61
- /* @__PURE__ */ jsx(
62
- SelectPrimitive.Viewport,
63
- {
64
- className: cn(
65
- "p-1",
66
- position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
67
- ),
68
- children
69
- }
70
- ),
65
+ /* @__PURE__ */ jsx(SelectPrimitive.Viewport, { className: cn("p-1", selectViewportClass(position ?? "popper")), children }),
71
66
  /* @__PURE__ */ jsx(SelectScrollDownButton, {})
72
67
  ]
73
68
  }
@@ -120,4 +115,4 @@ export {
120
115
  SelectItem,
121
116
  SelectSeparator
122
117
  };
123
- //# sourceMappingURL=chunk-RCUKSVMF.js.map
118
+ //# sourceMappingURL=chunk-6USFUHWW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/select.tsx"],"sourcesContent":["/** Styled wrapper around @radix-ui/react-select. See https://www.radix-ui.com/primitives/docs/components/select */\n\"use client\";\n\nimport * as React from \"react\";\nimport { LuChevronsUpDown, LuCheck, LuChevronDown, LuChevronUp } from \"react-icons/lu\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { selectContentClass, selectViewportClass } from \"./rules\";\n\nconst Select = SelectPrimitive.Root;\nconst SelectGroup = SelectPrimitive.Group;\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm focus:outline-none focus:ring-1 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <LuChevronsUpDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <LuChevronUp />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <LuChevronDown />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position, ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",\n selectContentClass(position ?? \"popper\"),\n className,\n )}\n position={position ?? \"popper\"}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport className={cn(\"p-1\", selectViewportClass(position ?? \"popper\"))}>\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <LuCheck className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"],"mappings":";;;;;;;AAGA,YAAY,WAAW;AACvB,SAAS,kBAAkB,SAAS,eAAe,mBAAmB;AACtE,YAAY,qBAAqB;AACjC,SAAS,UAAU;AAWjB,SAUI,KAVJ;AARF,IAAM,SAAyB;AAC/B,IAAM,cAA8B;AACpC,IAAM,cAA8B;AAEpC,IAAM,gBAAsB,iBAG1B,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEH;AAAA;AAAA,MACD,oBAAiB,sBAAhB,EAAqB,SAAO,MAC3B,8BAAC,oBAAiB,WAAU,sBAAqB,GACnD;AAAA;AAAA;AACF,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,uBAA6B,iBAGjC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wDAAwD,SAAS;AAAA,IAC9E,GAAG;AAAA,IAEJ,8BAAC,eAAY;AAAA;AACf,CACD;AACD,qBAAqB,cAA8B,+BAAe;AAElE,IAAM,yBAA+B,iBAGnC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wDAAwD,SAAS;AAAA,IAC9E,GAAG;AAAA,IAEJ,8BAAC,iBAAc;AAAA;AACjB,CACD;AACD,uBAAuB,cAA8B,iCAAiB;AAEtE,IAAM,gBAAsB,iBAG1B,CAAC,EAAE,WAAW,UAAU,UAAU,GAAG,MAAM,GAAG,QAC9C,oBAAiB,wBAAhB,EACC;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,mBAAmB,YAAY,QAAQ;AAAA,MACvC;AAAA,IACF;AAAA,IACA,UAAU,YAAY;AAAA,IACrB,GAAG;AAAA,IAEJ;AAAA,0BAAC,wBAAqB;AAAA,MACtB,oBAAiB,0BAAhB,EAAyB,WAAW,GAAG,OAAO,oBAAoB,YAAY,QAAQ,CAAC,GACrF,UACH;AAAA,MACA,oBAAC,0BAAuB;AAAA;AAAA;AAC1B,GACF,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,qCAAqC,SAAS;AAAA,IAC3D,GAAG;AAAA;AACN,CACD;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,aAAmB,iBAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ;AAAA,0BAAC,UAAK,WAAU,iEACd,8BAAiB,+BAAhB,EACC,8BAAC,WAAQ,WAAU,WAAU,GAC/B,GACF;AAAA,MACA,oBAAiB,0BAAhB,EAA0B,UAAS;AAAA;AAAA;AACtC,CACD;AACD,WAAW,cAA8B,qBAAK;AAE9C,IAAM,kBAAwB,iBAG5B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,gBAAgB,cAA8B,0BAAU;","names":[]}
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _chunkBXMTQGKVcjs = require('./chunk-BXMTQGKV.cjs');
4
+ var _chunkOJS2B6U2cjs = require('./chunk-OJS2B6U2.cjs');
5
5
 
6
6
 
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunk76RSVRGBcjs = require('./chunk-76RSVRGB.cjs');
11
+ var _chunkKVJQIZSMcjs = require('./chunk-KVJQIZSM.cjs');
12
12
 
13
13
  // src/form-select.tsx
14
14
  var _react = require('react'); var React = _interopRequireWildcard(_react);
@@ -28,16 +28,16 @@ var FormSelect = React.forwardRef(
28
28
  disabled
29
29
  }, ref) => {
30
30
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31
- _chunkBXMTQGKVcjs.FormField,
31
+ _chunkOJS2B6U2cjs.FormField,
32
32
  {
33
33
  label,
34
34
  htmlFor: name,
35
35
  required,
36
36
  error,
37
37
  className: _web.cn.call(void 0, className),
38
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk76RSVRGBcjs.Select, { name, value, onValueChange, disabled, children: [
39
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk76RSVRGBcjs.SelectTrigger, { ref, id: name, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk76RSVRGBcjs.SelectValue, { placeholder }) }),
40
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk76RSVRGBcjs.SelectContent, { children: options.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk76RSVRGBcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
38
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkKVJQIZSMcjs.Select, { name, value, onValueChange, disabled, children: [
39
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKVJQIZSMcjs.SelectTrigger, { ref, id: name, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKVJQIZSMcjs.SelectValue, { placeholder }) }),
40
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKVJQIZSMcjs.SelectContent, { children: options.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKVJQIZSMcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
41
41
  ] })
42
42
  }
43
43
  );
@@ -48,4 +48,4 @@ FormSelect.displayName = "FormSelect";
48
48
 
49
49
 
50
50
  exports.FormSelect = FormSelect;
51
- //# sourceMappingURL=chunk-WJUDOEVB.cjs.map
51
+ //# sourceMappingURL=chunk-7RDA26CL.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-WJUDOEVB.cjs","../src/form-select.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACVA,2EAAuB;AACvB,sDAAmB;AAuDX,+CAAA;AAxBR,IAAM,WAAA,EAAmB,KAAA,CAAA,UAAA;AAAA,EACvB,CACE;AAAA,IACE,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,EACF,CAAA,EACA,GAAA,EAAA,GACG;AACH,IAAA,uBACE,6BAAA;AAAA,MAAC,2BAAA;AAAA,MAAA;AAAA,QACC,KAAA;AAAA,QACA,OAAA,EAAS,IAAA;AAAA,QACT,QAAA;AAAA,QACA,KAAA;AAAA,QACA,SAAA,EAAW,qBAAA,SAAY,CAAA;AAAA,QAEvB,QAAA,kBAAA,8BAAA,wBAAC,EAAA,EAAO,IAAA,EAAY,KAAA,EAAc,aAAA,EAA8B,QAAA,EAC9D,QAAA,EAAA;AAAA,0BAAA,6BAAA,+BAAC,EAAA,EAAc,GAAA,EAAU,EAAA,EAAI,IAAA,EAC3B,QAAA,kBAAA,6BAAA,6BAAC,EAAA,EAAY,YAAA,CAA0B,EAAA,CACzC,CAAA;AAAA,0BACA,6BAAA,+BAAC,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,EAAA,mBACZ,6BAAA,4BAAC,EAAA,EAA8B,KAAA,EAAO,MAAA,CAAO,KAAA,EAC1C,QAAA,EAAA,MAAA,CAAO,MAAA,CAAA,EADO,MAAA,CAAO,KAExB,CACD,EAAA,CACH;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IACF,CAAA;AAAA,EAEJ;AACF,CAAA;AACA,UAAA,CAAW,YAAA,EAAc,YAAA;AD5BzB;AACA;AACE;AACF,gCAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-WJUDOEVB.cjs","sourcesContent":[null,"\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from \"./select\";\n\nexport interface FormSelectProps {\n label: string;\n error?: string;\n required?: boolean;\n name: string;\n value?: string;\n onValueChange?: (value: string) => void;\n options: { label: string; value: string }[];\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n}\n\n/**\n * Labeled select dropdown with error display. Composes FormField + Select.\n *\n * @example\n * ```tsx\n * <FormSelect\n * label=\"State\"\n * name=\"state\"\n * options={[{ label: \"Texas\", value: \"TX\" }]}\n * value={state}\n * onValueChange={setState}\n * />\n * ```\n */\nconst FormSelect = React.forwardRef<HTMLButtonElement, FormSelectProps>(\n (\n {\n label,\n error,\n required,\n name,\n value,\n onValueChange,\n options,\n placeholder,\n className,\n disabled,\n },\n ref,\n ) => {\n return (\n <FormField\n label={label}\n htmlFor={name}\n required={required}\n error={error}\n className={cn(className)}\n >\n <Select name={name} value={value} onValueChange={onValueChange} disabled={disabled}>\n <SelectTrigger ref={ref} id={name}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </FormField>\n );\n },\n);\nFormSelect.displayName = \"FormSelect\";\n\nexport { FormSelect };\n"]}
1
+ {"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-7RDA26CL.cjs","../src/form-select.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACVA,2EAAuB;AACvB,sDAAmB;AAuDX,+CAAA;AAxBR,IAAM,WAAA,EAAmB,KAAA,CAAA,UAAA;AAAA,EACvB,CACE;AAAA,IACE,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,EACF,CAAA,EACA,GAAA,EAAA,GACG;AACH,IAAA,uBACE,6BAAA;AAAA,MAAC,2BAAA;AAAA,MAAA;AAAA,QACC,KAAA;AAAA,QACA,OAAA,EAAS,IAAA;AAAA,QACT,QAAA;AAAA,QACA,KAAA;AAAA,QACA,SAAA,EAAW,qBAAA,SAAY,CAAA;AAAA,QAEvB,QAAA,kBAAA,8BAAA,wBAAC,EAAA,EAAO,IAAA,EAAY,KAAA,EAAc,aAAA,EAA8B,QAAA,EAC9D,QAAA,EAAA;AAAA,0BAAA,6BAAA,+BAAC,EAAA,EAAc,GAAA,EAAU,EAAA,EAAI,IAAA,EAC3B,QAAA,kBAAA,6BAAA,6BAAC,EAAA,EAAY,YAAA,CAA0B,EAAA,CACzC,CAAA;AAAA,0BACA,6BAAA,+BAAC,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,EAAA,mBACZ,6BAAA,4BAAC,EAAA,EAA8B,KAAA,EAAO,MAAA,CAAO,KAAA,EAC1C,QAAA,EAAA,MAAA,CAAO,MAAA,CAAA,EADO,MAAA,CAAO,KAExB,CACD,EAAA,CACH;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IACF,CAAA;AAAA,EAEJ;AACF,CAAA;AACA,UAAA,CAAW,YAAA,EAAc,YAAA;AD5BzB;AACA;AACE;AACF,gCAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-7RDA26CL.cjs","sourcesContent":[null,"\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from \"./select\";\n\nexport interface FormSelectProps {\n label: string;\n error?: string;\n required?: boolean;\n name: string;\n value?: string;\n onValueChange?: (value: string) => void;\n options: { label: string; value: string }[];\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n}\n\n/**\n * Labeled select dropdown with error display. Composes FormField + Select.\n *\n * @example\n * ```tsx\n * <FormSelect\n * label=\"State\"\n * name=\"state\"\n * options={[{ label: \"Texas\", value: \"TX\" }]}\n * value={state}\n * onValueChange={setState}\n * />\n * ```\n */\nconst FormSelect = React.forwardRef<HTMLButtonElement, FormSelectProps>(\n (\n {\n label,\n error,\n required,\n name,\n value,\n onValueChange,\n options,\n placeholder,\n className,\n disabled,\n },\n ref,\n ) => {\n return (\n <FormField\n label={label}\n htmlFor={name}\n required={required}\n error={error}\n className={cn(className)}\n >\n <Select name={name} value={value} onValueChange={onValueChange} disabled={disabled}>\n <SelectTrigger ref={ref} id={name}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </FormField>\n );\n },\n);\nFormSelect.displayName = \"FormSelect\";\n\nexport { FormSelect };\n"]}
@@ -1,18 +1,16 @@
1
1
  "use client";
2
+ import {
3
+ spinnerSizeClass
4
+ } from "./chunk-NSMOT7GD.js";
2
5
 
3
6
  // src/spinner.tsx
4
7
  import { cn } from "@simpleapps-com/augur-utils/web";
5
8
  import { jsx, jsxs } from "react/jsx-runtime";
6
- var sizeClasses = {
7
- sm: "h-3 w-3",
8
- md: "h-4 w-4",
9
- lg: "h-6 w-6"
10
- };
11
- var Spinner = ({ className, size = "md" }) => {
9
+ var Spinner = ({ className, size }) => {
12
10
  return /* @__PURE__ */ jsxs(
13
11
  "svg",
14
12
  {
15
- className: cn("animate-spin", sizeClasses[size], className),
13
+ className: cn("animate-spin", spinnerSizeClass(size ?? "md"), className),
16
14
  xmlns: "http://www.w3.org/2000/svg",
17
15
  fill: "none",
18
16
  viewBox: "0 0 24 24",
@@ -34,4 +32,4 @@ var Spinner = ({ className, size = "md" }) => {
34
32
  export {
35
33
  Spinner
36
34
  };
37
- //# sourceMappingURL=chunk-UMNTUD2P.js.map
35
+ //# sourceMappingURL=chunk-AC3OCGDU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/spinner.tsx"],"sourcesContent":["import { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { spinnerSizeClass } from \"./rules\";\n\ninterface SpinnerProps {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}\n\n/** Animated SVG loading spinner. Sizes: `sm` (12px), `md` (16px, the default), `lg` (24px). */\nconst Spinner = ({ className, size }: SpinnerProps) => {\n return (\n <svg\n className={cn(\"animate-spin\", spinnerSizeClass(size ?? \"md\"), className)}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\" />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"m4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n );\n};\n\nexport { Spinner };\n"],"mappings":";;;;;;AAAA,SAAS,UAAU;AAWf,SAME,KANF;AAFJ,IAAM,UAAU,CAAC,EAAE,WAAW,KAAK,MAAoB;AACrD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,gBAAgB,iBAAiB,QAAQ,IAAI,GAAG,SAAS;AAAA,MACvE,OAAM;AAAA,MACN,MAAK;AAAA,MACL,SAAQ;AAAA,MAER;AAAA,4BAAC,YAAO,WAAU,cAAa,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,QAAO,gBAAe,aAAY,KAAI;AAAA,QAC5F;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,GAAE;AAAA;AAAA,QACJ;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -1,4 +1,7 @@
1
1
  "use client";
2
+ import {
3
+ insetClass
4
+ } from "./chunk-NSMOT7GD.js";
2
5
 
3
6
  // src/dropdown-menu.tsx
4
7
  import * as React from "react";
@@ -18,7 +21,7 @@ var DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...
18
21
  ref,
19
22
  className: cn(
20
23
  "focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
21
- inset && "pl-8",
24
+ insetClass(inset === true),
22
25
  className
23
26
  ),
24
27
  ...props,
@@ -41,11 +44,11 @@ var DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) =>
41
44
  }
42
45
  ));
43
46
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
44
- var DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
47
+ var DropdownMenuContent = React.forwardRef(({ className, sideOffset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
45
48
  DropdownMenuPrimitive.Content,
46
49
  {
47
50
  ref,
48
- sideOffset,
51
+ sideOffset: sideOffset ?? 4,
49
52
  className: cn(
50
53
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",
51
54
  className
@@ -60,7 +63,7 @@ var DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) =>
60
63
  ref,
61
64
  className: cn(
62
65
  "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
63
- inset && "pl-8",
66
+ insetClass(inset === true),
64
67
  className
65
68
  ),
66
69
  ...props
@@ -104,7 +107,7 @@ var DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) =
104
107
  DropdownMenuPrimitive.Label,
105
108
  {
106
109
  ref,
107
- className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className),
110
+ className: cn("px-2 py-1.5 text-sm font-semibold", insetClass(inset === true), className),
108
111
  ...props
109
112
  }
110
113
  ));
@@ -140,4 +143,4 @@ export {
140
143
  DropdownMenuSeparator,
141
144
  DropdownMenuShortcut
142
145
  };
143
- //# sourceMappingURL=chunk-MOC5N2N4.js.map
146
+ //# sourceMappingURL=chunk-BSRLAXZ2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dropdown-menu.tsx"],"sourcesContent":["/** Styled wrapper around @radix-ui/react-dropdown-menu. See https://www.radix-ui.com/primitives/docs/components/dropdown-menu */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { LuCheck, LuChevronRight, LuCircle } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { insetClass } from \"./rules\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n insetClass(inset === true),\n className,\n )}\n {...props}\n >\n {children}\n <LuChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset ?? 4}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n insetClass(inset === true),\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <LuCheck className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <LuCircle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\"px-2 py-1.5 text-sm font-semibold\", insetClass(inset === true), className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)} {...props} />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"mappings":";;;;;;AAGA,YAAY,WAAW;AACvB,YAAY,2BAA2B;AACvC,SAAS,SAAS,gBAAgB,gBAAgB;AAClD,SAAS,UAAU;AAqBjB,SAUE,KAVF;AAlBF,IAAM,eAAqC;AAE3C,IAAM,sBAA4C;AAElD,IAAM,oBAA0C;AAEhD,IAAM,qBAA2C;AAEjD,IAAM,kBAAwC;AAE9C,IAAM,yBAA+C;AAErD,IAAM,yBAA+B,iBAKnC,CAAC,EAAE,WAAW,OAAO,UAAU,GAAG,MAAM,GAAG,QAC3C;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,WAAW,UAAU,IAAI;AAAA,MACzB;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEH;AAAA;AAAA,MACD,oBAAC,kBAAe,WAAU,WAAU;AAAA;AAAA;AACtC,CACD;AACD,uBAAuB,cAAoC,iCAAW;AAEtE,IAAM,yBAA+B,iBAGnC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,uBAAuB,cAAoC,iCAAW;AAEtE,IAAM,sBAA4B,iBAGhC,CAAC,EAAE,WAAW,YAAY,GAAG,MAAM,GAAG,QACtC,oBAAuB,8BAAtB,EACC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,YAAY,cAAc;AAAA,IAC1B,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,GACF,CACD;AACD,oBAAoB,cAAoC,8BAAQ;AAEhE,IAAM,mBAAyB,iBAK7B,CAAC,EAAE,WAAW,OAAO,GAAG,MAAM,GAAG,QACjC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,WAAW,UAAU,IAAI;AAAA,MACzB;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,iBAAiB,cAAoC,2BAAK;AAE1D,IAAM,2BAAiC,iBAGrC,CAAC,EAAE,WAAW,UAAU,SAAS,GAAG,MAAM,GAAG,QAC7C;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACC,GAAG;AAAA,IAEJ;AAAA,0BAAC,UAAK,WAAU,gEACd,8BAAuB,qCAAtB,EACC,8BAAC,WAAQ,WAAU,WAAU,GAC/B,GACF;AAAA,MACC;AAAA;AAAA;AACH,CACD;AACD,yBAAyB,cAAoC,mCAAa;AAE1E,IAAM,wBAA8B,iBAGlC,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ;AAAA,0BAAC,UAAK,WAAU,gEACd,8BAAuB,qCAAtB,EACC,8BAAC,YAAS,WAAU,wBAAuB,GAC7C,GACF;AAAA,MACC;AAAA;AAAA;AACH,CACD;AACD,sBAAsB,cAAoC,gCAAU;AAEpE,IAAM,oBAA0B,iBAK9B,CAAC,EAAE,WAAW,OAAO,GAAG,MAAM,GAAG,QACjC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,qCAAqC,WAAW,UAAU,IAAI,GAAG,SAAS;AAAA,IACvF,GAAG;AAAA;AACN,CACD;AACD,kBAAkB,cAAoC,4BAAM;AAE5D,IAAM,wBAA8B,iBAGlC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,sBAAsB,cAAoC,gCAAU;AAEpE,IAAM,uBAAuB,CAAC,EAAE,WAAW,GAAG,MAAM,MAA6C;AAC/F,SACE,oBAAC,UAAK,WAAW,GAAG,8CAA8C,SAAS,GAAI,GAAG,OAAO;AAE7F;AACA,qBAAqB,cAAc;","names":[]}
@@ -1,10 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  FormField
4
- } from "./chunk-MXSQYVCK.js";
4
+ } from "./chunk-IXQFZJSN.js";
5
5
  import {
6
6
  Input
7
7
  } from "./chunk-HXQF6XTL.js";
8
+ import {
9
+ fieldId
10
+ } from "./chunk-NSMOT7GD.js";
8
11
 
9
12
  // src/form-input.tsx
10
13
  import * as React from "react";
@@ -12,7 +15,7 @@ import { cn } from "@simpleapps-com/augur-utils/web";
12
15
  import { jsx } from "react/jsx-runtime";
13
16
  var FormInput = React.forwardRef(
14
17
  ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {
15
- const htmlFor = id ?? name ?? "";
18
+ const htmlFor = fieldId(id, name);
16
19
  return /* @__PURE__ */ jsx(
17
20
  FormField,
18
21
  {
@@ -31,4 +34,4 @@ FormInput.displayName = "FormInput";
31
34
  export {
32
35
  FormInput
33
36
  };
34
- //# sourceMappingURL=chunk-UB7HYAAC.js.map
37
+ //# sourceMappingURL=chunk-EBCKH6JE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form-input.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport { Input } from \"./input\";\nimport { fieldId } from \"./rules\";\n\nexport interface FormInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label: string;\n error?: string;\n required?: boolean;\n gridSpan?: string;\n}\n\n/**\n * Labeled text input with error display. Composes FormField + Input.\n *\n * @example\n * ```tsx\n * <FormInput label=\"Email\" name=\"email\" type=\"email\" required error={errors.email} />\n * ```\n */\nconst FormInput = React.forwardRef<HTMLInputElement, FormInputProps>(\n ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {\n const htmlFor = fieldId(id, name);\n\n return (\n <FormField\n label={label}\n htmlFor={htmlFor}\n required={required}\n error={error}\n className={cn(gridSpan, className)}\n >\n <Input ref={ref} id={htmlFor} name={name} {...props} />\n </FormField>\n );\n },\n);\nFormInput.displayName = \"FormInput\";\n\nexport { FormInput };\n"],"mappings":";;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,UAAU;AAgCX;AAZR,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,OAAO,OAAO,UAAU,UAAU,WAAW,IAAI,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC5E,UAAM,UAAU,QAAQ,IAAI,IAAI;AAEhC,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,GAAG,UAAU,SAAS;AAAA,QAEjC,8BAAC,SAAM,KAAU,IAAI,SAAS,MAAa,GAAG,OAAO;AAAA;AAAA,IACvD;AAAA,EAEJ;AACF;AACA,UAAU,cAAc;","names":[]}
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  FormField
4
- } from "./chunk-MXSQYVCK.js";
4
+ } from "./chunk-IXQFZJSN.js";
5
5
  import {
6
6
  Select,
7
7
  SelectContent,
8
8
  SelectItem,
9
9
  SelectTrigger,
10
10
  SelectValue
11
- } from "./chunk-RCUKSVMF.js";
11
+ } from "./chunk-6USFUHWW.js";
12
12
 
13
13
  // src/form-select.tsx
14
14
  import * as React from "react";
@@ -48,4 +48,4 @@ FormSelect.displayName = "FormSelect";
48
48
  export {
49
49
  FormSelect
50
50
  };
51
- //# sourceMappingURL=chunk-WFMP6TZN.js.map
51
+ //# sourceMappingURL=chunk-I6LMIYVF.js.map
@@ -4,7 +4,10 @@ import {
4
4
  } from "./chunk-L3BT67EO.js";
5
5
  import {
6
6
  FormField
7
- } from "./chunk-MXSQYVCK.js";
7
+ } from "./chunk-IXQFZJSN.js";
8
+ import {
9
+ fieldId
10
+ } from "./chunk-NSMOT7GD.js";
8
11
 
9
12
  // src/form-textarea.tsx
10
13
  import * as React from "react";
@@ -12,7 +15,7 @@ import { cn } from "@simpleapps-com/augur-utils/web";
12
15
  import { jsx } from "react/jsx-runtime";
13
16
  var FormTextarea = React.forwardRef(
14
17
  ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {
15
- const htmlFor = id ?? name ?? "";
18
+ const htmlFor = fieldId(id, name);
16
19
  return /* @__PURE__ */ jsx(
17
20
  FormField,
18
21
  {
@@ -31,4 +34,4 @@ FormTextarea.displayName = "FormTextarea";
31
34
  export {
32
35
  FormTextarea
33
36
  };
34
- //# sourceMappingURL=chunk-RGJT67PN.js.map
37
+ //# sourceMappingURL=chunk-IDCDOE2L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form-textarea.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport { Textarea } from \"./textarea\";\nimport { fieldId } from \"./rules\";\n\nexport interface FormTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n label: string;\n error?: string;\n required?: boolean;\n gridSpan?: string;\n}\n\n/** Labeled textarea with error display. Composes FormField + Textarea. */\nconst FormTextarea = React.forwardRef<HTMLTextAreaElement, FormTextareaProps>(\n ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {\n const htmlFor = fieldId(id, name);\n\n return (\n <FormField\n label={label}\n htmlFor={htmlFor}\n required={required}\n error={error}\n className={cn(gridSpan, className)}\n >\n <Textarea ref={ref} id={htmlFor} name={name} {...props} />\n </FormField>\n );\n },\n);\nFormTextarea.displayName = \"FormTextarea\";\n\nexport { FormTextarea };\n"],"mappings":";;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,UAAU;AAyBX;AAZR,IAAM,eAAqB;AAAA,EACzB,CAAC,EAAE,OAAO,OAAO,UAAU,UAAU,WAAW,IAAI,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC5E,UAAM,UAAU,QAAQ,IAAI,IAAI;AAEhC,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,GAAG,UAAU,SAAS;AAAA,QAEjC,8BAAC,YAAS,KAAU,IAAI,SAAS,MAAa,GAAG,OAAO;AAAA;AAAA,IAC1D;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;","names":[]}
@@ -2,6 +2,10 @@
2
2
  import {
3
3
  Label
4
4
  } from "./chunk-VD3H4QZM.js";
5
+ import {
6
+ slotsWhen,
7
+ textSlots
8
+ } from "./chunk-NSMOT7GD.js";
5
9
 
6
10
  // src/form-field.tsx
7
11
  import * as React from "react";
@@ -12,10 +16,10 @@ var FormField = React.forwardRef(
12
16
  return /* @__PURE__ */ jsxs("div", { ref, className: cn("space-y-2", className), children: [
13
17
  /* @__PURE__ */ jsxs(Label, { htmlFor, children: [
14
18
  label,
15
- required && /* @__PURE__ */ jsx("span", { className: "text-destructive", children: "*" })
19
+ slotsWhen(required === true).map((slot) => /* @__PURE__ */ jsx("span", { className: "text-destructive", children: "*" }, slot))
16
20
  ] }),
17
21
  children,
18
- error && /* @__PURE__ */ jsx("p", { className: "text-destructive text-sm", children: error })
22
+ textSlots(error).map((message) => /* @__PURE__ */ jsx("p", { className: "text-destructive text-sm", children: message }, message))
19
23
  ] });
20
24
  }
21
25
  );
@@ -24,4 +28,4 @@ FormField.displayName = "FormField";
24
28
  export {
25
29
  FormField
26
30
  };
27
- //# sourceMappingURL=chunk-MXSQYVCK.js.map
31
+ //# sourceMappingURL=chunk-IXQFZJSN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form-field.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { Label } from \"./label\";\nimport { slotsWhen, textSlots } from \"./rules\";\n\nexport interface FormFieldProps {\n label: string;\n htmlFor: string;\n required?: boolean;\n error?: string;\n className?: string;\n children: React.ReactNode;\n}\n\n/** Base form layout: label + children + optional error message. */\nconst FormField = React.forwardRef<HTMLDivElement, FormFieldProps>(\n ({ label, htmlFor, required, error, className, children }, ref) => {\n return (\n <div ref={ref} className={cn(\"space-y-2\", className)}>\n <Label htmlFor={htmlFor}>\n {label}\n {slotsWhen(required === true).map((slot) => (\n <span key={slot} className=\"text-destructive\">\n *\n </span>\n ))}\n </Label>\n {children}\n {textSlots(error).map((message) => (\n <p key={message} className=\"text-destructive text-sm\">\n {message}\n </p>\n ))}\n </div>\n );\n },\n);\nFormField.displayName = \"FormField\";\n\nexport { FormField };\n"],"mappings":";;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,UAAU;AAkBX,SAGI,KAHJ;AAJR,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,OAAO,SAAS,UAAU,OAAO,WAAW,SAAS,GAAG,QAAQ;AACjE,WACE,qBAAC,SAAI,KAAU,WAAW,GAAG,aAAa,SAAS,GACjD;AAAA,2BAAC,SAAM,SACJ;AAAA;AAAA,QACA,UAAU,aAAa,IAAI,EAAE,IAAI,CAAC,SACjC,oBAAC,UAAgB,WAAU,oBAAmB,iBAAnC,IAEX,CACD;AAAA,SACH;AAAA,MACC;AAAA,MACA,UAAU,KAAK,EAAE,IAAI,CAAC,YACrB,oBAAC,OAAgB,WAAU,4BACxB,qBADK,OAER,CACD;AAAA,OACH;AAAA,EAEJ;AACF;AACA,UAAU,cAAc;","names":[]}
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
2
+
3
+
4
+
5
+ var _chunkNBXA42AWcjs = require('./chunk-NBXA42AW.cjs');
2
6
 
3
7
  // src/select.tsx
4
8
  var _react = require('react'); var React = _interopRequireWildcard(_react);
@@ -45,29 +49,20 @@ var SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) =>
45
49
  }
46
50
  ));
47
51
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
48
- var SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
52
+ var SelectContent = React.forwardRef(({ className, children, position, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
49
53
  SelectPrimitive.Content,
50
54
  {
51
55
  ref,
52
56
  className: _web.cn.call(void 0,
53
57
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",
54
- position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
58
+ _chunkNBXA42AWcjs.selectContentClass.call(void 0, _nullishCoalesce(position, () => ( "popper"))),
55
59
  className
56
60
  ),
57
- position,
61
+ position: _nullishCoalesce(position, () => ( "popper")),
58
62
  ...props,
59
63
  children: [
60
64
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectScrollUpButton, {}),
61
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
62
- SelectPrimitive.Viewport,
63
- {
64
- className: _web.cn.call(void 0,
65
- "p-1",
66
- position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
67
- ),
68
- children
69
- }
70
- ),
65
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Viewport, { className: _web.cn.call(void 0, "p-1", _chunkNBXA42AWcjs.selectViewportClass.call(void 0, _nullishCoalesce(position, () => ( "popper")))), children }),
71
66
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectScrollDownButton, {})
72
67
  ]
73
68
  }
@@ -120,4 +115,4 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
120
115
 
121
116
 
122
117
  exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator;
123
- //# sourceMappingURL=chunk-76RSVRGB.cjs.map
118
+ //# sourceMappingURL=chunk-KVJQIZSM.cjs.map