@simpleapps-com/augur-web 1.0.7 → 1.0.9
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.
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/add-to-cart-button.cjs +46 -0
- package/dist/add-to-cart-button.cjs.map +1 -0
- package/dist/add-to-cart-button.d.cts +14 -0
- package/dist/add-to-cart-button.d.ts +14 -0
- package/dist/add-to-cart-button.js +46 -0
- package/dist/add-to-cart-button.js.map +1 -0
- package/dist/breadcrumbs.cjs.map +1 -1
- package/dist/breadcrumbs.d.cts +14 -0
- package/dist/breadcrumbs.d.ts +14 -0
- package/dist/breadcrumbs.js.map +1 -1
- package/dist/button.cjs +2 -2
- package/dist/button.d.cts +14 -1
- package/dist/button.d.ts +14 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs.map +1 -1
- package/dist/card.js.map +1 -1
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/{chunk-FHS7SJEQ.js → chunk-3FSJ76CI.js} +1 -1
- package/dist/chunk-3FSJ76CI.js.map +1 -0
- package/dist/{chunk-GPDD67CJ.js → chunk-6JHTOVHH.js} +2 -2
- package/dist/chunk-6JHTOVHH.js.map +1 -0
- package/dist/{chunk-SXJP4G5U.cjs → chunk-AMGUJSB4.cjs} +1 -1
- package/dist/chunk-AMGUJSB4.cjs.map +1 -0
- package/dist/{chunk-BYHOMRXR.js → chunk-BMQGSDHH.js} +1 -1
- package/dist/chunk-BMQGSDHH.js.map +1 -0
- package/dist/{chunk-ND6U4UQQ.js → chunk-C7E3ITLU.js} +1 -1
- package/dist/chunk-C7E3ITLU.js.map +1 -0
- package/dist/chunk-DONF5PIE.js +47 -0
- package/dist/chunk-DONF5PIE.js.map +1 -0
- package/dist/{chunk-NWGXDXRV.cjs → chunk-DQJDDXSH.cjs} +1 -1
- package/dist/chunk-DQJDDXSH.cjs.map +1 -0
- package/dist/chunk-ECNNL5MU.cjs +145 -0
- package/dist/chunk-ECNNL5MU.cjs.map +1 -0
- package/dist/chunk-ECZR6SW3.cjs +47 -0
- package/dist/chunk-ECZR6SW3.cjs.map +1 -0
- package/dist/{chunk-PTAWV5SA.js → chunk-FHUB6XI5.js} +1 -1
- package/dist/chunk-FHUB6XI5.js.map +1 -0
- package/dist/{chunk-VT4JLAIE.cjs → chunk-I4Q2GZZK.cjs} +1 -1
- package/dist/{chunk-VT4JLAIE.cjs.map → chunk-I4Q2GZZK.cjs.map} +1 -1
- package/dist/{chunk-DAU3SFHM.js → chunk-LCNFPBPV.js} +1 -1
- package/dist/chunk-LCNFPBPV.js.map +1 -0
- package/dist/{chunk-VMOQCPK5.cjs → chunk-LNMPVCIY.cjs} +3 -3
- package/dist/{chunk-VMOQCPK5.cjs.map → chunk-LNMPVCIY.cjs.map} +1 -1
- package/dist/{chunk-3RVGVJDI.cjs → chunk-MGOH4OFM.cjs} +1 -1
- package/dist/chunk-MGOH4OFM.cjs.map +1 -0
- package/dist/{chunk-N2TV6QZO.cjs → chunk-QLSIUW3X.cjs} +1 -1
- package/dist/chunk-QLSIUW3X.cjs.map +1 -0
- package/dist/{chunk-Q6H6D3AN.cjs → chunk-SHF52AZM.cjs} +1 -1
- package/dist/chunk-SHF52AZM.cjs.map +1 -0
- package/dist/{chunk-CK53LO3J.cjs → chunk-U35O67ZA.cjs} +1 -1
- package/dist/chunk-U35O67ZA.cjs.map +1 -0
- package/dist/{chunk-DZ6HBEMA.js → chunk-X5RKGEDZ.js} +1 -1
- package/dist/chunk-X5RKGEDZ.js.map +1 -0
- package/dist/{chunk-SVF5VSZ2.js → chunk-YKVFAVK5.js} +1 -1
- package/dist/chunk-YKVFAVK5.js.map +1 -0
- package/dist/chunk-YR2SJWTF.js +145 -0
- package/dist/chunk-YR2SJWTF.js.map +1 -0
- package/dist/command.cjs +2 -2
- package/dist/command.cjs.map +1 -1
- package/dist/command.d.cts +7 -7
- package/dist/command.d.ts +7 -7
- package/dist/command.js +1 -1
- package/dist/command.js.map +1 -1
- package/dist/dialog.cjs +2 -2
- package/dist/dialog.js +1 -1
- package/dist/dropdown-menu.cjs.map +1 -1
- package/dist/dropdown-menu.js.map +1 -1
- package/dist/form-field.cjs +3 -3
- package/dist/form-field.d.cts +1 -0
- package/dist/form-field.d.ts +1 -0
- package/dist/form-field.js +2 -2
- package/dist/form-input.cjs +5 -5
- package/dist/form-input.cjs.map +1 -1
- package/dist/form-input.d.cts +8 -0
- package/dist/form-input.d.ts +8 -0
- package/dist/form-input.js +3 -3
- package/dist/form-input.js.map +1 -1
- package/dist/form-select.cjs +7 -7
- package/dist/form-select.cjs.map +1 -1
- package/dist/form-select.d.cts +14 -0
- package/dist/form-select.d.ts +14 -0
- package/dist/form-select.js +3 -3
- package/dist/form-select.js.map +1 -1
- package/dist/form-textarea.cjs +5 -5
- package/dist/form-textarea.cjs.map +1 -1
- package/dist/form-textarea.d.cts +1 -0
- package/dist/form-textarea.d.ts +1 -0
- package/dist/form-textarea.js +3 -3
- package/dist/form-textarea.js.map +1 -1
- package/dist/gtm.cjs +2 -128
- package/dist/gtm.cjs.map +1 -1
- package/dist/gtm.js +7 -133
- package/dist/gtm.js.map +1 -1
- package/dist/input.cjs +2 -2
- package/dist/input.js +1 -1
- package/dist/label.cjs +2 -2
- package/dist/label.js +1 -1
- package/dist/list-view.cjs.map +1 -1
- package/dist/list-view.d.cts +8 -0
- package/dist/list-view.d.ts +8 -0
- package/dist/list-view.js.map +1 -1
- package/dist/navigation-menu.cjs.map +1 -1
- package/dist/navigation-menu.js.map +1 -1
- package/dist/pagination.cjs +2 -2
- package/dist/pagination.cjs.map +1 -1
- package/dist/pagination.js +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.js.map +1 -1
- package/dist/price-format.cjs +2 -2
- package/dist/price-format.d.cts +4 -0
- package/dist/price-format.d.ts +4 -0
- package/dist/price-format.js +1 -1
- package/dist/price.cjs +2 -2
- package/dist/price.cjs.map +1 -1
- package/dist/price.d.cts +17 -0
- package/dist/price.d.ts +17 -0
- package/dist/price.js +1 -1
- package/dist/price.js.map +1 -1
- package/dist/provider.cjs +31 -0
- package/dist/provider.cjs.map +1 -0
- package/dist/provider.d.cts +50 -0
- package/dist/provider.d.ts +50 -0
- package/dist/provider.js +31 -0
- package/dist/provider.js.map +1 -0
- package/dist/quantity-input.cjs.map +1 -1
- package/dist/quantity-input.d.cts +15 -0
- package/dist/quantity-input.d.ts +15 -0
- package/dist/quantity-input.js.map +1 -1
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/select.cjs +2 -2
- package/dist/select.js +1 -1
- package/dist/separator.cjs.map +1 -1
- package/dist/separator.js.map +1 -1
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js.map +1 -1
- package/dist/spinner.cjs +3 -41
- package/dist/spinner.cjs.map +1 -1
- package/dist/spinner.d.cts +1 -0
- package/dist/spinner.d.ts +1 -0
- package/dist/spinner.js +3 -41
- package/dist/spinner.js.map +1 -1
- package/dist/stock-label.cjs +85 -0
- package/dist/stock-label.cjs.map +1 -0
- package/dist/stock-label.d.cts +47 -0
- package/dist/stock-label.d.ts +47 -0
- package/dist/stock-label.js +85 -0
- package/dist/stock-label.js.map +1 -0
- package/dist/table.cjs.map +1 -1
- package/dist/table.js.map +1 -1
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.js.map +1 -1
- package/dist/textarea.cjs +2 -2
- package/dist/textarea.js +1 -1
- package/package.json +24 -4
- package/dist/chunk-3RVGVJDI.cjs.map +0 -1
- package/dist/chunk-BYHOMRXR.js.map +0 -1
- package/dist/chunk-CK53LO3J.cjs.map +0 -1
- package/dist/chunk-DAU3SFHM.js.map +0 -1
- package/dist/chunk-DZ6HBEMA.js.map +0 -1
- package/dist/chunk-FHS7SJEQ.js.map +0 -1
- package/dist/chunk-GPDD67CJ.js.map +0 -1
- package/dist/chunk-N2TV6QZO.cjs.map +0 -1
- package/dist/chunk-ND6U4UQQ.js.map +0 -1
- package/dist/chunk-NWGXDXRV.cjs.map +0 -1
- package/dist/chunk-PTAWV5SA.js.map +0 -1
- package/dist/chunk-Q6H6D3AN.cjs.map +0 -1
- package/dist/chunk-SVF5VSZ2.js.map +0 -1
- package/dist/chunk-SXJP4G5U.cjs.map +0 -1
package/dist/form-select.d.ts
CHANGED
|
@@ -15,6 +15,20 @@ interface FormSelectProps {
|
|
|
15
15
|
className?: string;
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Labeled select dropdown with error display. Composes FormField + Select.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <FormSelect
|
|
24
|
+
* label="State"
|
|
25
|
+
* name="state"
|
|
26
|
+
* options={[{ label: "Texas", value: "TX" }]}
|
|
27
|
+
* value={state}
|
|
28
|
+
* onValueChange={setState}
|
|
29
|
+
* />
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
18
32
|
declare const FormSelect: React.ForwardRefExoticComponent<FormSelectProps & React.RefAttributes<HTMLButtonElement>>;
|
|
19
33
|
|
|
20
34
|
export { FormSelect, type FormSelectProps };
|
package/dist/form-select.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import {
|
|
4
4
|
FormField
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6JHTOVHH.js";
|
|
6
6
|
import {
|
|
7
7
|
Select,
|
|
8
8
|
SelectContent,
|
|
9
9
|
SelectItem,
|
|
10
10
|
SelectTrigger,
|
|
11
11
|
SelectValue
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-C7E3ITLU.js";
|
|
13
|
+
import "./chunk-3FSJ76CI.js";
|
|
14
14
|
|
|
15
15
|
// src/form-select.tsx
|
|
16
16
|
import * as React from "react";
|
package/dist/form-select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/form-select.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport {\n Select,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectItem,\n} 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\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\n name={name}\n value={value}\n onValueChange={onValueChange}\n disabled={disabled}\n >\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"],"mappings":";;;;;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,UAAU;
|
|
1
|
+
{"version":3,"sources":["../src/form-select.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { FormField } from \"./form-field\";\nimport {\n Select,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectItem,\n} 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\n name={name}\n value={value}\n onValueChange={onValueChange}\n disabled={disabled}\n >\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"],"mappings":";;;;;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,UAAU;AA6DX,SAOI,KAPJ;AAxBR,IAAM,aAAmB;AAAA,EACvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GACA,QACG;AACH,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,WAAW,GAAG,SAAS;AAAA,QAEvB;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAEA;AAAA,kCAAC,iBAAc,KAAU,IAAI,MAC3B,8BAAC,eAAY,aAA0B,GACzC;AAAA,cACA,oBAAC,iBACE,kBAAQ,IAAI,CAAC,WACZ,oBAAC,cAA8B,OAAO,OAAO,OAC1C,iBAAO,SADO,OAAO,KAExB,CACD,GACH;AAAA;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;","names":[]}
|
package/dist/form-textarea.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkMGOH4OFMcjs = require('./chunk-MGOH4OFM.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
require('./chunk-
|
|
8
|
+
var _chunkLNMPVCIYcjs = require('./chunk-LNMPVCIY.cjs');
|
|
9
|
+
require('./chunk-U35O67ZA.cjs');
|
|
10
10
|
|
|
11
11
|
// src/form-textarea.tsx
|
|
12
12
|
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
@@ -16,14 +16,14 @@ var FormTextarea = React.forwardRef(
|
|
|
16
16
|
({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {
|
|
17
17
|
const htmlFor = _nullishCoalesce(_nullishCoalesce(id, () => ( name)), () => ( ""));
|
|
18
18
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19
|
-
|
|
19
|
+
_chunkLNMPVCIYcjs.FormField,
|
|
20
20
|
{
|
|
21
21
|
label,
|
|
22
22
|
htmlFor,
|
|
23
23
|
required,
|
|
24
24
|
error,
|
|
25
25
|
className: _web.cn.call(void 0, gridSpan, className),
|
|
26
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGOH4OFMcjs.Textarea, { ref, id: htmlFor, name, ...props })
|
|
27
27
|
}
|
|
28
28
|
);
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/form-textarea.cjs","../src/form-textarea.tsx"],"names":[],"mappings":"AAAA,2cAAY;AACZ,YAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACRA,2EAAuB;AACvB,sDAAmB;
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/form-textarea.cjs","../src/form-textarea.tsx"],"names":[],"mappings":"AAAA,2cAAY;AACZ,YAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACRA,2EAAuB;AACvB,sDAAmB;AAyBX,+CAAA;AAZR,IAAM,aAAA,EAAqB,KAAA,CAAA,UAAA;AAAA,EACzB,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,oCAAU,EAAA,UAAM,MAAA,UAAQ,IAAA;AAE9B,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,0BAAC,EAAA,EAAS,GAAA,EAAU,EAAA,EAAI,OAAA,EAAS,IAAA,EAAa,GAAG,MAAA,CAAO;AAAA,MAAA;AAAA,IAC1D,CAAA;AAAA,EAEJ;AACF,CAAA;AACA,YAAA,CAAa,YAAA,EAAc,cAAA;ADF3B;AACE;AACF,oCAAC","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/form-textarea.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 { Textarea } from \"./textarea\";\n\nexport interface FormTextareaProps\n 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 = 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"]}
|
package/dist/form-textarea.d.cts
CHANGED
|
@@ -6,6 +6,7 @@ interface FormTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaEle
|
|
|
6
6
|
required?: boolean;
|
|
7
7
|
gridSpan?: string;
|
|
8
8
|
}
|
|
9
|
+
/** Labeled textarea with error display. Composes FormField + Textarea. */
|
|
9
10
|
declare const FormTextarea: React.ForwardRefExoticComponent<FormTextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
10
11
|
|
|
11
12
|
export { FormTextarea, type FormTextareaProps };
|
package/dist/form-textarea.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ interface FormTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaEle
|
|
|
6
6
|
required?: boolean;
|
|
7
7
|
gridSpan?: string;
|
|
8
8
|
}
|
|
9
|
+
/** Labeled textarea with error display. Composes FormField + Textarea. */
|
|
9
10
|
declare const FormTextarea: React.ForwardRefExoticComponent<FormTextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
10
11
|
|
|
11
12
|
export { FormTextarea, type FormTextareaProps };
|
package/dist/form-textarea.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import {
|
|
4
4
|
Textarea
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-X5RKGEDZ.js";
|
|
6
6
|
import {
|
|
7
7
|
FormField
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-6JHTOVHH.js";
|
|
9
|
+
import "./chunk-3FSJ76CI.js";
|
|
10
10
|
|
|
11
11
|
// src/form-textarea.tsx
|
|
12
12
|
import * as React from "react";
|
|
@@ -1 +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\";\n\nexport interface FormTextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n label: string;\n error?: string;\n required?: boolean;\n gridSpan?: string;\n}\n\nconst FormTextarea = React.forwardRef<HTMLTextAreaElement, FormTextareaProps>(\n ({ label, error, required, gridSpan, className, id, name, ...props }, ref) => {\n const htmlFor = 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;
|
|
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\";\n\nexport interface FormTextareaProps\n 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 = 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,MAAM,QAAQ;AAE9B,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":[]}
|
package/dist/gtm.cjs
CHANGED
|
@@ -1,145 +1,19 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
|
-
// src/gtm.tsx
|
|
5
4
|
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
|
|
10
|
+
var _chunkECNNL5MUcjs = require('./chunk-ECNNL5MU.cjs');
|
|
11
11
|
|
|
12
|
-
var _react = require('react');
|
|
13
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
14
|
-
var AnalyticsContext = _react.createContext.call(void 0, null);
|
|
15
|
-
function getDataLayer() {
|
|
16
|
-
if (typeof window === "undefined") return [];
|
|
17
|
-
if (!window.dataLayer) window.dataLayer = [];
|
|
18
|
-
return window.dataLayer;
|
|
19
|
-
}
|
|
20
|
-
function injectGtmScript(gtmId, strategy) {
|
|
21
|
-
if (typeof document === "undefined") return;
|
|
22
|
-
if (document.getElementById("gtm-script")) return;
|
|
23
|
-
const dataLayer = getDataLayer();
|
|
24
|
-
dataLayer.push({ "gtm.start": (/* @__PURE__ */ new Date()).getTime(), event: "gtm.js" });
|
|
25
|
-
const script = document.createElement("script");
|
|
26
|
-
script.id = "gtm-script";
|
|
27
|
-
script.src = `https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(gtmId)}`;
|
|
28
|
-
if (strategy === "lazyOnload") {
|
|
29
|
-
script.async = true;
|
|
30
|
-
script.defer = true;
|
|
31
|
-
} else {
|
|
32
|
-
script.async = true;
|
|
33
|
-
}
|
|
34
|
-
document.head.appendChild(script);
|
|
35
|
-
}
|
|
36
|
-
function AnalyticsProvider({
|
|
37
|
-
gtmId,
|
|
38
|
-
strategy = "afterInteractive",
|
|
39
|
-
consentRequired = false,
|
|
40
|
-
debug = false,
|
|
41
|
-
children
|
|
42
|
-
}) {
|
|
43
|
-
const [hasConsent, setHasConsent] = _react.useState.call(void 0, !consentRequired);
|
|
44
|
-
const [isLoaded, setIsLoaded] = _react.useState.call(void 0, false);
|
|
45
|
-
const injectedRef = _react.useRef.call(void 0, false);
|
|
46
|
-
const loadGtm = _react.useCallback.call(void 0, () => {
|
|
47
|
-
if (injectedRef.current) return;
|
|
48
|
-
injectedRef.current = true;
|
|
49
|
-
if (strategy === "lazyOnload" && typeof requestIdleCallback === "function") {
|
|
50
|
-
requestIdleCallback(() => {
|
|
51
|
-
injectGtmScript(gtmId, strategy);
|
|
52
|
-
setIsLoaded(true);
|
|
53
|
-
});
|
|
54
|
-
} else if (strategy === "afterInteractive") {
|
|
55
|
-
setTimeout(() => {
|
|
56
|
-
injectGtmScript(gtmId, strategy);
|
|
57
|
-
setIsLoaded(true);
|
|
58
|
-
}, 0);
|
|
59
|
-
} else {
|
|
60
|
-
injectGtmScript(gtmId, strategy);
|
|
61
|
-
setIsLoaded(true);
|
|
62
|
-
}
|
|
63
|
-
}, [gtmId, strategy]);
|
|
64
|
-
if (hasConsent && !injectedRef.current && typeof window !== "undefined") {
|
|
65
|
-
loadGtm();
|
|
66
|
-
}
|
|
67
|
-
const trackEvent = _react.useCallback.call(void 0,
|
|
68
|
-
(event, params) => {
|
|
69
|
-
const entry = { event, ...params };
|
|
70
|
-
if (debug) {
|
|
71
|
-
console.log("[Analytics]", entry);
|
|
72
|
-
}
|
|
73
|
-
getDataLayer().push(entry);
|
|
74
|
-
},
|
|
75
|
-
[debug]
|
|
76
|
-
);
|
|
77
|
-
const trackEcommerceEvent = _react.useCallback.call(void 0,
|
|
78
|
-
(event, params) => {
|
|
79
|
-
getDataLayer().push({ ecommerce: null });
|
|
80
|
-
const entry = { event, ecommerce: params };
|
|
81
|
-
if (debug) {
|
|
82
|
-
console.log("[Analytics ecommerce]", entry);
|
|
83
|
-
}
|
|
84
|
-
getDataLayer().push(entry);
|
|
85
|
-
},
|
|
86
|
-
[debug]
|
|
87
|
-
);
|
|
88
|
-
const grantConsent = _react.useCallback.call(void 0, () => {
|
|
89
|
-
setHasConsent(true);
|
|
90
|
-
loadGtm();
|
|
91
|
-
}, [loadGtm]);
|
|
92
|
-
const revokeConsent = _react.useCallback.call(void 0, () => {
|
|
93
|
-
setHasConsent(false);
|
|
94
|
-
}, []);
|
|
95
|
-
const value = _react.useMemo.call(void 0,
|
|
96
|
-
() => ({
|
|
97
|
-
trackEvent,
|
|
98
|
-
trackEcommerceEvent,
|
|
99
|
-
grantConsent,
|
|
100
|
-
revokeConsent,
|
|
101
|
-
hasConsent,
|
|
102
|
-
isLoaded
|
|
103
|
-
}),
|
|
104
|
-
[
|
|
105
|
-
trackEvent,
|
|
106
|
-
trackEcommerceEvent,
|
|
107
|
-
grantConsent,
|
|
108
|
-
revokeConsent,
|
|
109
|
-
hasConsent,
|
|
110
|
-
isLoaded
|
|
111
|
-
]
|
|
112
|
-
);
|
|
113
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsContext.Provider, { value, children });
|
|
114
|
-
}
|
|
115
|
-
function useAnalytics() {
|
|
116
|
-
const context = _react.useContext.call(void 0, AnalyticsContext);
|
|
117
|
-
if (!context) {
|
|
118
|
-
throw new Error("useAnalytics must be used within an <AnalyticsProvider>");
|
|
119
|
-
}
|
|
120
|
-
return context;
|
|
121
|
-
}
|
|
122
|
-
function AnalyticsNoscript({ gtmId }) {
|
|
123
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "noscript", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
124
|
-
"iframe",
|
|
125
|
-
{
|
|
126
|
-
src: `https://www.googletagmanager.com/ns.html?id=${encodeURIComponent(gtmId)}`,
|
|
127
|
-
height: "0",
|
|
128
|
-
width: "0",
|
|
129
|
-
style: { display: "none", visibility: "hidden" },
|
|
130
|
-
title: "Google Tag Manager"
|
|
131
|
-
}
|
|
132
|
-
) });
|
|
133
|
-
}
|
|
134
|
-
var GtmProvider = AnalyticsProvider;
|
|
135
|
-
var useGtm = useAnalytics;
|
|
136
|
-
var GtmNoscript = AnalyticsNoscript;
|
|
137
12
|
|
|
138
13
|
|
|
139
14
|
|
|
140
15
|
|
|
141
16
|
|
|
142
17
|
|
|
143
|
-
|
|
144
|
-
exports.AnalyticsNoscript = AnalyticsNoscript; exports.AnalyticsProvider = AnalyticsProvider; exports.GtmNoscript = GtmNoscript; exports.GtmProvider = GtmProvider; exports.useAnalytics = useAnalytics; exports.useGtm = useGtm;
|
|
18
|
+
exports.AnalyticsNoscript = _chunkECNNL5MUcjs.AnalyticsNoscript; exports.AnalyticsProvider = _chunkECNNL5MUcjs.AnalyticsProvider; exports.GtmNoscript = _chunkECNNL5MUcjs.GtmNoscript; exports.GtmProvider = _chunkECNNL5MUcjs.GtmProvider; exports.useAnalytics = _chunkECNNL5MUcjs.useAnalytics; exports.useGtm = _chunkECNNL5MUcjs.useGtm;
|
|
145
19
|
//# sourceMappingURL=gtm.cjs.map
|
package/dist/gtm.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/gtm.cjs","../src/gtm.tsx"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY;AACZ;AACA;ACDA;AACE;AACA;AACA;AACA;AACA;AACA;AAAA,8BACK;AAiOH,+CAAA;AA9IJ,IAAM,iBAAA,EAAmB,kCAAA,IAAgD,CAAA;AAYzE,SAAS,YAAA,CAAA,EAA0C;AAEjD,EAAA,GAAA,CAAI,OAAO,OAAA,IAAW,WAAA,EAAa,OAAO,CAAC,CAAA;AAC3C,EAAA,GAAA,CAAI,CAAC,MAAA,CAAO,SAAA,EAAW,MAAA,CAAO,UAAA,EAAY,CAAC,CAAA;AAC3C,EAAA,OAAO,MAAA,CAAO,SAAA;AAChB;AAEA,SAAS,eAAA,CACP,KAAA,EACA,QAAA,EACM;AAEN,EAAA,GAAA,CAAI,OAAO,SAAA,IAAa,WAAA,EAAa,MAAA;AAGrC,EAAA,GAAA,CAAI,QAAA,CAAS,cAAA,CAAe,YAAY,CAAA,EAAG,MAAA;AAE3C,EAAA,MAAM,UAAA,EAAY,YAAA,CAAa,CAAA;AAC/B,EAAA,SAAA,CAAU,IAAA,CAAK,EAAE,WAAA,EAAA,iBAAa,IAAI,IAAA,CAAK,CAAA,CAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,KAAA,EAAO,SAAS,CAAC,CAAA;AAErE,EAAA,MAAM,OAAA,EAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,EAAA,MAAA,CAAO,GAAA,EAAK,YAAA;AACZ,EAAA,MAAA,CAAO,IAAA,EAAM,CAAA,2CAAA,EAA8C,kBAAA,CAAmB,KAAK,CAAC,CAAA,CAAA;AAErD,EAAA;AACd,IAAA;AACA,IAAA;AACV,EAAA;AAEU,IAAA;AACjB,EAAA;AAEgC,EAAA;AAClC;AAMkC;AAChC,EAAA;AACW,EAAA;AACO,EAAA;AACV,EAAA;AACR,EAAA;AACyB;AACoC,EAAA;AACf,EAAA;AACd,EAAA;AAEE,EAAA;AACP,IAAA;AACH,IAAA;AAEsD,IAAA;AAChD,MAAA;AACO,QAAA;AACf,QAAA;AACjB,MAAA;AACyC,IAAA;AAEzB,MAAA;AACgB,QAAA;AACf,QAAA;AACd,MAAA;AACC,IAAA;AAC0B,MAAA;AACf,MAAA;AAClB,IAAA;AACkB,EAAA;AAIqD,EAAA;AAC/D,IAAA;AACV,EAAA;AAEmB,EAAA;AACoC,IAAA;AAClB,MAAA;AACtB,MAAA;AACuB,QAAA;AAClC,MAAA;AACyB,MAAA;AAC3B,IAAA;AACM,IAAA;AACR,EAAA;AAE4B,EAAA;AAC0B,IAAA;AAEX,MAAA;AACE,MAAA;AAC9B,MAAA;AACiC,QAAA;AAC5C,MAAA;AACyB,MAAA;AAC3B,IAAA;AACM,IAAA;AACR,EAAA;AAEuC,EAAA;AACnB,IAAA;AACV,IAAA;AACE,EAAA;AAE4B,EAAA;AACnB,IAAA;AAChB,EAAA;AAES,EAAA;AACL,IAAA;AACL,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACF,IAAA;AACA,IAAA;AACE,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACF,IAAA;AACF,EAAA;AAKE,EAAA;AAEJ;AAMsD;AACT,EAAA;AAC7B,EAAA;AAC6D,IAAA;AAC3E,EAAA;AACO,EAAA;AACT;AAWqE;AAG/D,EAAA;AAAC,IAAA;AAAA,IAAA;AAC8E,MAAA;AACtE,MAAA;AACD,MAAA;AACyC,MAAA;AACzC,MAAA;AAAA,IAAA;AAEV,EAAA;AAEJ;AAsB2B;AAEL;AAEK;ADnK4D;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/gtm.cjs","sourcesContent":[null,"\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode } from \"react\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Script loading strategy. */\nexport type AnalyticsStrategy = \"default\" | \"afterInteractive\" | \"lazyOnload\";\n\n/** GA4 standard e-commerce event names. */\nexport type EcommerceEvent =\n | \"view_item\"\n | \"view_item_list\"\n | \"select_item\"\n | \"add_to_cart\"\n | \"remove_from_cart\"\n | \"view_cart\"\n | \"begin_checkout\"\n | \"add_shipping_info\"\n | \"add_payment_info\"\n | \"purchase\"\n | \"refund\";\n\n/** GA4 e-commerce item shape. */\nexport interface EcommerceItem {\n item_id: string;\n item_name?: string;\n item_brand?: string;\n item_category?: string;\n item_variant?: string;\n price?: number;\n quantity?: number;\n index?: number;\n [key: string]: unknown;\n}\n\n/** Parameters for e-commerce events. */\nexport interface EcommerceParams {\n currency?: string;\n value?: number;\n items?: EcommerceItem[];\n transaction_id?: string;\n shipping?: number;\n tax?: number;\n coupon?: string;\n [key: string]: unknown;\n}\n\nexport interface AnalyticsProviderProps {\n /** GTM container ID (e.g. \"GTM-XXXXX\"). */\n gtmId: string;\n /** Script loading strategy. Default: \"afterInteractive\". */\n strategy?: AnalyticsStrategy;\n /** Delay GTM loading until consent is granted. Default: false. */\n consentRequired?: boolean;\n /** Log dataLayer pushes to console. Default: false. */\n debug?: boolean;\n children: ReactNode;\n}\n\nexport interface AnalyticsContextValue {\n /** Push a custom event to the dataLayer. */\n trackEvent: (event: string, params?: Record<string, unknown>) => void;\n /** Push a GA4 e-commerce event to the dataLayer. */\n trackEcommerceEvent: (\n event: EcommerceEvent,\n params: EcommerceParams,\n ) => void;\n /** Grant consent — loads GTM if consentRequired was true. */\n grantConsent: () => void;\n /** Revoke consent. Does not unload GTM (scripts can't be unloaded). */\n revokeConsent: () => void;\n /** Whether consent has been granted. */\n hasConsent: boolean;\n /** Whether the GTM script has been injected. */\n isLoaded: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\nconst AnalyticsContext = createContext<AnalyticsContextValue | null>(null);\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\ndeclare global {\n interface Window {\n dataLayer?: Record<string, unknown>[];\n }\n}\n\nfunction getDataLayer(): Record<string, unknown>[] {\n /* v8 ignore next */\n if (typeof window === \"undefined\") return [];\n if (!window.dataLayer) window.dataLayer = [];\n return window.dataLayer;\n}\n\nfunction injectGtmScript(\n gtmId: string,\n strategy: AnalyticsStrategy,\n): void {\n /* v8 ignore next */\n if (typeof document === \"undefined\") return;\n\n // Prevent double-injection\n if (document.getElementById(\"gtm-script\")) return;\n\n const dataLayer = getDataLayer();\n dataLayer.push({ \"gtm.start\": new Date().getTime(), event: \"gtm.js\" });\n\n const script = document.createElement(\"script\");\n script.id = \"gtm-script\";\n script.src = `https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(gtmId)}`;\n\n if (strategy === \"lazyOnload\") {\n script.async = true;\n script.defer = true;\n } else {\n // \"default\" and \"afterInteractive\"\n script.async = true;\n }\n\n document.head.appendChild(script);\n}\n\n// ---------------------------------------------------------------------------\n// Provider\n// ---------------------------------------------------------------------------\n\nexport function AnalyticsProvider({\n gtmId,\n strategy = \"afterInteractive\",\n consentRequired = false,\n debug = false,\n children,\n}: AnalyticsProviderProps) {\n const [hasConsent, setHasConsent] = useState(!consentRequired);\n const [isLoaded, setIsLoaded] = useState(false);\n const injectedRef = useRef(false);\n\n const loadGtm = useCallback(() => {\n if (injectedRef.current) return;\n injectedRef.current = true;\n\n if (strategy === \"lazyOnload\" && typeof requestIdleCallback === \"function\") {\n requestIdleCallback(() => {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n });\n } else if (strategy === \"afterInteractive\") {\n // Defer to after hydration\n setTimeout(() => {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n }, 0);\n } else {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n }\n }, [gtmId, strategy]);\n\n // Auto-load when consent is not required or already granted\n /* v8 ignore next */\n if (hasConsent && !injectedRef.current && typeof window !== \"undefined\") {\n loadGtm();\n }\n\n const trackEvent = useCallback(\n (event: string, params?: Record<string, unknown>) => {\n const entry = { event, ...params };\n if (debug) {\n console.log(\"[Analytics]\", entry);\n }\n getDataLayer().push(entry);\n },\n [debug],\n );\n\n const trackEcommerceEvent = useCallback(\n (event: EcommerceEvent, params: EcommerceParams) => {\n // Clear previous ecommerce data per GA4 best practices\n getDataLayer().push({ ecommerce: null });\n const entry = { event, ecommerce: params };\n if (debug) {\n console.log(\"[Analytics ecommerce]\", entry);\n }\n getDataLayer().push(entry);\n },\n [debug],\n );\n\n const grantConsent = useCallback(() => {\n setHasConsent(true);\n loadGtm();\n }, [loadGtm]);\n\n const revokeConsent = useCallback(() => {\n setHasConsent(false);\n }, []);\n\n const value = useMemo<AnalyticsContextValue>(\n () => ({\n trackEvent,\n trackEcommerceEvent,\n grantConsent,\n revokeConsent,\n hasConsent,\n isLoaded,\n }),\n [\n trackEvent,\n trackEcommerceEvent,\n grantConsent,\n revokeConsent,\n hasConsent,\n isLoaded,\n ],\n );\n\n return (\n <AnalyticsContext.Provider value={value}>\n {children}\n </AnalyticsContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\nexport function useAnalytics(): AnalyticsContextValue {\n const context = useContext(AnalyticsContext);\n if (!context) {\n throw new Error(\"useAnalytics must be used within an <AnalyticsProvider>\");\n }\n return context;\n}\n\n// ---------------------------------------------------------------------------\n// Noscript\n// ---------------------------------------------------------------------------\n\nexport interface AnalyticsNoscriptProps {\n /** GTM container ID (must match AnalyticsProvider). */\n gtmId: string;\n}\n\nexport function AnalyticsNoscript({ gtmId }: AnalyticsNoscriptProps) {\n return (\n <noscript>\n <iframe\n src={`https://www.googletagmanager.com/ns.html?id=${encodeURIComponent(gtmId)}`}\n height=\"0\"\n width=\"0\"\n style={{ display: \"none\", visibility: \"hidden\" }}\n title=\"Google Tag Manager\"\n />\n </noscript>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Backward-compatible aliases (from #59 GtmProvider)\n// ---------------------------------------------------------------------------\n\n/** @deprecated Use `AnalyticsStrategy` instead. */\nexport type GtmStrategy = AnalyticsStrategy;\n/** @deprecated Use `EcommerceEvent` instead. */\nexport type GtmEcommerceEvent = EcommerceEvent;\n/** @deprecated Use `EcommerceItem` instead. */\nexport type GtmItem = EcommerceItem;\n/** @deprecated Use `EcommerceParams` instead. */\nexport type GtmEcommerceParams = EcommerceParams;\n/** @deprecated Use `AnalyticsProviderProps` instead. */\nexport type GtmProviderProps = AnalyticsProviderProps;\n/** @deprecated Use `AnalyticsContextValue` instead. */\nexport type GtmContextValue = AnalyticsContextValue;\n/** @deprecated Use `AnalyticsNoscriptProps` instead. */\nexport type GtmNoscriptProps = AnalyticsNoscriptProps;\n\n/** @deprecated Use `AnalyticsProvider` instead. */\nexport const GtmProvider = AnalyticsProvider;\n/** @deprecated Use `useAnalytics` instead. */\nexport const useGtm = useAnalytics;\n/** @deprecated Use `AnalyticsNoscript` instead. */\nexport const GtmNoscript = AnalyticsNoscript;\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/gtm.cjs"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,6UAAC","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/gtm.cjs"}
|
package/dist/gtm.js
CHANGED
|
@@ -1,139 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
|
-
|
|
4
|
-
// src/gtm.tsx
|
|
5
3
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} from "
|
|
13
|
-
import { jsx } from "react/jsx-runtime";
|
|
14
|
-
var AnalyticsContext = createContext(null);
|
|
15
|
-
function getDataLayer() {
|
|
16
|
-
if (typeof window === "undefined") return [];
|
|
17
|
-
if (!window.dataLayer) window.dataLayer = [];
|
|
18
|
-
return window.dataLayer;
|
|
19
|
-
}
|
|
20
|
-
function injectGtmScript(gtmId, strategy) {
|
|
21
|
-
if (typeof document === "undefined") return;
|
|
22
|
-
if (document.getElementById("gtm-script")) return;
|
|
23
|
-
const dataLayer = getDataLayer();
|
|
24
|
-
dataLayer.push({ "gtm.start": (/* @__PURE__ */ new Date()).getTime(), event: "gtm.js" });
|
|
25
|
-
const script = document.createElement("script");
|
|
26
|
-
script.id = "gtm-script";
|
|
27
|
-
script.src = `https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(gtmId)}`;
|
|
28
|
-
if (strategy === "lazyOnload") {
|
|
29
|
-
script.async = true;
|
|
30
|
-
script.defer = true;
|
|
31
|
-
} else {
|
|
32
|
-
script.async = true;
|
|
33
|
-
}
|
|
34
|
-
document.head.appendChild(script);
|
|
35
|
-
}
|
|
36
|
-
function AnalyticsProvider({
|
|
37
|
-
gtmId,
|
|
38
|
-
strategy = "afterInteractive",
|
|
39
|
-
consentRequired = false,
|
|
40
|
-
debug = false,
|
|
41
|
-
children
|
|
42
|
-
}) {
|
|
43
|
-
const [hasConsent, setHasConsent] = useState(!consentRequired);
|
|
44
|
-
const [isLoaded, setIsLoaded] = useState(false);
|
|
45
|
-
const injectedRef = useRef(false);
|
|
46
|
-
const loadGtm = useCallback(() => {
|
|
47
|
-
if (injectedRef.current) return;
|
|
48
|
-
injectedRef.current = true;
|
|
49
|
-
if (strategy === "lazyOnload" && typeof requestIdleCallback === "function") {
|
|
50
|
-
requestIdleCallback(() => {
|
|
51
|
-
injectGtmScript(gtmId, strategy);
|
|
52
|
-
setIsLoaded(true);
|
|
53
|
-
});
|
|
54
|
-
} else if (strategy === "afterInteractive") {
|
|
55
|
-
setTimeout(() => {
|
|
56
|
-
injectGtmScript(gtmId, strategy);
|
|
57
|
-
setIsLoaded(true);
|
|
58
|
-
}, 0);
|
|
59
|
-
} else {
|
|
60
|
-
injectGtmScript(gtmId, strategy);
|
|
61
|
-
setIsLoaded(true);
|
|
62
|
-
}
|
|
63
|
-
}, [gtmId, strategy]);
|
|
64
|
-
if (hasConsent && !injectedRef.current && typeof window !== "undefined") {
|
|
65
|
-
loadGtm();
|
|
66
|
-
}
|
|
67
|
-
const trackEvent = useCallback(
|
|
68
|
-
(event, params) => {
|
|
69
|
-
const entry = { event, ...params };
|
|
70
|
-
if (debug) {
|
|
71
|
-
console.log("[Analytics]", entry);
|
|
72
|
-
}
|
|
73
|
-
getDataLayer().push(entry);
|
|
74
|
-
},
|
|
75
|
-
[debug]
|
|
76
|
-
);
|
|
77
|
-
const trackEcommerceEvent = useCallback(
|
|
78
|
-
(event, params) => {
|
|
79
|
-
getDataLayer().push({ ecommerce: null });
|
|
80
|
-
const entry = { event, ecommerce: params };
|
|
81
|
-
if (debug) {
|
|
82
|
-
console.log("[Analytics ecommerce]", entry);
|
|
83
|
-
}
|
|
84
|
-
getDataLayer().push(entry);
|
|
85
|
-
},
|
|
86
|
-
[debug]
|
|
87
|
-
);
|
|
88
|
-
const grantConsent = useCallback(() => {
|
|
89
|
-
setHasConsent(true);
|
|
90
|
-
loadGtm();
|
|
91
|
-
}, [loadGtm]);
|
|
92
|
-
const revokeConsent = useCallback(() => {
|
|
93
|
-
setHasConsent(false);
|
|
94
|
-
}, []);
|
|
95
|
-
const value = useMemo(
|
|
96
|
-
() => ({
|
|
97
|
-
trackEvent,
|
|
98
|
-
trackEcommerceEvent,
|
|
99
|
-
grantConsent,
|
|
100
|
-
revokeConsent,
|
|
101
|
-
hasConsent,
|
|
102
|
-
isLoaded
|
|
103
|
-
}),
|
|
104
|
-
[
|
|
105
|
-
trackEvent,
|
|
106
|
-
trackEcommerceEvent,
|
|
107
|
-
grantConsent,
|
|
108
|
-
revokeConsent,
|
|
109
|
-
hasConsent,
|
|
110
|
-
isLoaded
|
|
111
|
-
]
|
|
112
|
-
);
|
|
113
|
-
return /* @__PURE__ */ jsx(AnalyticsContext.Provider, { value, children });
|
|
114
|
-
}
|
|
115
|
-
function useAnalytics() {
|
|
116
|
-
const context = useContext(AnalyticsContext);
|
|
117
|
-
if (!context) {
|
|
118
|
-
throw new Error("useAnalytics must be used within an <AnalyticsProvider>");
|
|
119
|
-
}
|
|
120
|
-
return context;
|
|
121
|
-
}
|
|
122
|
-
function AnalyticsNoscript({ gtmId }) {
|
|
123
|
-
return /* @__PURE__ */ jsx("noscript", { children: /* @__PURE__ */ jsx(
|
|
124
|
-
"iframe",
|
|
125
|
-
{
|
|
126
|
-
src: `https://www.googletagmanager.com/ns.html?id=${encodeURIComponent(gtmId)}`,
|
|
127
|
-
height: "0",
|
|
128
|
-
width: "0",
|
|
129
|
-
style: { display: "none", visibility: "hidden" },
|
|
130
|
-
title: "Google Tag Manager"
|
|
131
|
-
}
|
|
132
|
-
) });
|
|
133
|
-
}
|
|
134
|
-
var GtmProvider = AnalyticsProvider;
|
|
135
|
-
var useGtm = useAnalytics;
|
|
136
|
-
var GtmNoscript = AnalyticsNoscript;
|
|
4
|
+
AnalyticsNoscript,
|
|
5
|
+
AnalyticsProvider,
|
|
6
|
+
GtmNoscript,
|
|
7
|
+
GtmProvider,
|
|
8
|
+
useAnalytics,
|
|
9
|
+
useGtm
|
|
10
|
+
} from "./chunk-YR2SJWTF.js";
|
|
137
11
|
export {
|
|
138
12
|
AnalyticsNoscript,
|
|
139
13
|
AnalyticsProvider,
|
package/dist/gtm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/gtm.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode } from \"react\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Script loading strategy. */\nexport type AnalyticsStrategy = \"default\" | \"afterInteractive\" | \"lazyOnload\";\n\n/** GA4 standard e-commerce event names. */\nexport type EcommerceEvent =\n | \"view_item\"\n | \"view_item_list\"\n | \"select_item\"\n | \"add_to_cart\"\n | \"remove_from_cart\"\n | \"view_cart\"\n | \"begin_checkout\"\n | \"add_shipping_info\"\n | \"add_payment_info\"\n | \"purchase\"\n | \"refund\";\n\n/** GA4 e-commerce item shape. */\nexport interface EcommerceItem {\n item_id: string;\n item_name?: string;\n item_brand?: string;\n item_category?: string;\n item_variant?: string;\n price?: number;\n quantity?: number;\n index?: number;\n [key: string]: unknown;\n}\n\n/** Parameters for e-commerce events. */\nexport interface EcommerceParams {\n currency?: string;\n value?: number;\n items?: EcommerceItem[];\n transaction_id?: string;\n shipping?: number;\n tax?: number;\n coupon?: string;\n [key: string]: unknown;\n}\n\nexport interface AnalyticsProviderProps {\n /** GTM container ID (e.g. \"GTM-XXXXX\"). */\n gtmId: string;\n /** Script loading strategy. Default: \"afterInteractive\". */\n strategy?: AnalyticsStrategy;\n /** Delay GTM loading until consent is granted. Default: false. */\n consentRequired?: boolean;\n /** Log dataLayer pushes to console. Default: false. */\n debug?: boolean;\n children: ReactNode;\n}\n\nexport interface AnalyticsContextValue {\n /** Push a custom event to the dataLayer. */\n trackEvent: (event: string, params?: Record<string, unknown>) => void;\n /** Push a GA4 e-commerce event to the dataLayer. */\n trackEcommerceEvent: (\n event: EcommerceEvent,\n params: EcommerceParams,\n ) => void;\n /** Grant consent — loads GTM if consentRequired was true. */\n grantConsent: () => void;\n /** Revoke consent. Does not unload GTM (scripts can't be unloaded). */\n revokeConsent: () => void;\n /** Whether consent has been granted. */\n hasConsent: boolean;\n /** Whether the GTM script has been injected. */\n isLoaded: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\nconst AnalyticsContext = createContext<AnalyticsContextValue | null>(null);\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\ndeclare global {\n interface Window {\n dataLayer?: Record<string, unknown>[];\n }\n}\n\nfunction getDataLayer(): Record<string, unknown>[] {\n /* v8 ignore next */\n if (typeof window === \"undefined\") return [];\n if (!window.dataLayer) window.dataLayer = [];\n return window.dataLayer;\n}\n\nfunction injectGtmScript(\n gtmId: string,\n strategy: AnalyticsStrategy,\n): void {\n /* v8 ignore next */\n if (typeof document === \"undefined\") return;\n\n // Prevent double-injection\n if (document.getElementById(\"gtm-script\")) return;\n\n const dataLayer = getDataLayer();\n dataLayer.push({ \"gtm.start\": new Date().getTime(), event: \"gtm.js\" });\n\n const script = document.createElement(\"script\");\n script.id = \"gtm-script\";\n script.src = `https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(gtmId)}`;\n\n if (strategy === \"lazyOnload\") {\n script.async = true;\n script.defer = true;\n } else {\n // \"default\" and \"afterInteractive\"\n script.async = true;\n }\n\n document.head.appendChild(script);\n}\n\n// ---------------------------------------------------------------------------\n// Provider\n// ---------------------------------------------------------------------------\n\nexport function AnalyticsProvider({\n gtmId,\n strategy = \"afterInteractive\",\n consentRequired = false,\n debug = false,\n children,\n}: AnalyticsProviderProps) {\n const [hasConsent, setHasConsent] = useState(!consentRequired);\n const [isLoaded, setIsLoaded] = useState(false);\n const injectedRef = useRef(false);\n\n const loadGtm = useCallback(() => {\n if (injectedRef.current) return;\n injectedRef.current = true;\n\n if (strategy === \"lazyOnload\" && typeof requestIdleCallback === \"function\") {\n requestIdleCallback(() => {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n });\n } else if (strategy === \"afterInteractive\") {\n // Defer to after hydration\n setTimeout(() => {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n }, 0);\n } else {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n }\n }, [gtmId, strategy]);\n\n // Auto-load when consent is not required or already granted\n /* v8 ignore next */\n if (hasConsent && !injectedRef.current && typeof window !== \"undefined\") {\n loadGtm();\n }\n\n const trackEvent = useCallback(\n (event: string, params?: Record<string, unknown>) => {\n const entry = { event, ...params };\n if (debug) {\n console.log(\"[Analytics]\", entry);\n }\n getDataLayer().push(entry);\n },\n [debug],\n );\n\n const trackEcommerceEvent = useCallback(\n (event: EcommerceEvent, params: EcommerceParams) => {\n // Clear previous ecommerce data per GA4 best practices\n getDataLayer().push({ ecommerce: null });\n const entry = { event, ecommerce: params };\n if (debug) {\n console.log(\"[Analytics ecommerce]\", entry);\n }\n getDataLayer().push(entry);\n },\n [debug],\n );\n\n const grantConsent = useCallback(() => {\n setHasConsent(true);\n loadGtm();\n }, [loadGtm]);\n\n const revokeConsent = useCallback(() => {\n setHasConsent(false);\n }, []);\n\n const value = useMemo<AnalyticsContextValue>(\n () => ({\n trackEvent,\n trackEcommerceEvent,\n grantConsent,\n revokeConsent,\n hasConsent,\n isLoaded,\n }),\n [\n trackEvent,\n trackEcommerceEvent,\n grantConsent,\n revokeConsent,\n hasConsent,\n isLoaded,\n ],\n );\n\n return (\n <AnalyticsContext.Provider value={value}>\n {children}\n </AnalyticsContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\nexport function useAnalytics(): AnalyticsContextValue {\n const context = useContext(AnalyticsContext);\n if (!context) {\n throw new Error(\"useAnalytics must be used within an <AnalyticsProvider>\");\n }\n return context;\n}\n\n// ---------------------------------------------------------------------------\n// Noscript\n// ---------------------------------------------------------------------------\n\nexport interface AnalyticsNoscriptProps {\n /** GTM container ID (must match AnalyticsProvider). */\n gtmId: string;\n}\n\nexport function AnalyticsNoscript({ gtmId }: AnalyticsNoscriptProps) {\n return (\n <noscript>\n <iframe\n src={`https://www.googletagmanager.com/ns.html?id=${encodeURIComponent(gtmId)}`}\n height=\"0\"\n width=\"0\"\n style={{ display: \"none\", visibility: \"hidden\" }}\n title=\"Google Tag Manager\"\n />\n </noscript>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Backward-compatible aliases (from #59 GtmProvider)\n// ---------------------------------------------------------------------------\n\n/** @deprecated Use `AnalyticsStrategy` instead. */\nexport type GtmStrategy = AnalyticsStrategy;\n/** @deprecated Use `EcommerceEvent` instead. */\nexport type GtmEcommerceEvent = EcommerceEvent;\n/** @deprecated Use `EcommerceItem` instead. */\nexport type GtmItem = EcommerceItem;\n/** @deprecated Use `EcommerceParams` instead. */\nexport type GtmEcommerceParams = EcommerceParams;\n/** @deprecated Use `AnalyticsProviderProps` instead. */\nexport type GtmProviderProps = AnalyticsProviderProps;\n/** @deprecated Use `AnalyticsContextValue` instead. */\nexport type GtmContextValue = AnalyticsContextValue;\n/** @deprecated Use `AnalyticsNoscriptProps` instead. */\nexport type GtmNoscriptProps = AnalyticsNoscriptProps;\n\n/** @deprecated Use `AnalyticsProvider` instead. */\nexport const GtmProvider = AnalyticsProvider;\n/** @deprecated Use `useAnalytics` instead. */\nexport const useGtm = useAnalytics;\n/** @deprecated Use `AnalyticsNoscript` instead. */\nexport const GtmNoscript = AnalyticsNoscript;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/input.cjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkDQJDDXSHcjs = require('./chunk-DQJDDXSH.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.Input =
|
|
8
|
+
exports.Input = _chunkDQJDDXSHcjs.Input;
|
|
9
9
|
//# sourceMappingURL=input.cjs.map
|
package/dist/input.js
CHANGED
package/dist/label.cjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkU35O67ZAcjs = require('./chunk-U35O67ZA.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.Label =
|
|
8
|
+
exports.Label = _chunkU35O67ZAcjs.Label;
|
|
9
9
|
//# sourceMappingURL=label.cjs.map
|
package/dist/label.js
CHANGED
package/dist/list-view.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/list-view.cjs","../src/list-view.tsx"],"names":[],"mappings":"AAAA,yrBAAY;AACZ;AACA;ACFA,4EAAkB;
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/list-view.cjs","../src/list-view.tsx"],"names":[],"mappings":"AAAA,yrBAAY;AACZ;AACA;ACFA,4EAAkB;AAiBd,+CAAA;AAFG,IAAM,SAAA,EAAW,CAAK,EAAE,IAAA,EAAM,YAAY,CAAA,EAAA,GAAwB;AACvE,EAAA,uBACE,6BAAA,oBAAA,EAAA,EACG,QAAA,kBAAA,IAAA,2BAAM,GAAA,mBAAI,CAAC,IAAA,EAAM,KAAA,EAAA,mBAChB,6BAAA,eAAC,CAAM,QAAA,EAAN,EAA4B,QAAA,EAAA,WAAA,CAAY,IAAA,EAAM,KAAK,EAAA,CAAA,EAA/B,KAAiC,CACvD,IAAA,CACH,CAAA;AAEJ,CAAA;ADfA;AACE;AACF,4BAAC","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/list-view.cjs","sourcesContent":[null,"import React from \"react\";\n\ninterface ListViewProps<T> {\n data: T[] | undefined;\n renderItems: (item: T, index?: number) => React.ReactNode;\n}\n\n/**\n * Generic list renderer that maps an array through a render function.\n *\n * @example\n * ```tsx\n * <ListView data={products} renderItems={(item) => <ProductCard {...item} />} />\n * ```\n */\nexport const ListView = <T,>({ data, renderItems }: ListViewProps<T>) => {\n return (\n <>\n {data?.map((item, index) => (\n <React.Fragment key={index}>{renderItems(item, index)}</React.Fragment>\n ))}\n </>\n );\n};\n"]}
|
package/dist/list-view.d.cts
CHANGED
|
@@ -5,6 +5,14 @@ interface ListViewProps<T> {
|
|
|
5
5
|
data: T[] | undefined;
|
|
6
6
|
renderItems: (item: T, index?: number) => React__default.ReactNode;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Generic list renderer that maps an array through a render function.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <ListView data={products} renderItems={(item) => <ProductCard {...item} />} />
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
8
16
|
declare const ListView: <T>({ data, renderItems }: ListViewProps<T>) => react_jsx_runtime.JSX.Element;
|
|
9
17
|
|
|
10
18
|
export { ListView };
|
package/dist/list-view.d.ts
CHANGED
|
@@ -5,6 +5,14 @@ interface ListViewProps<T> {
|
|
|
5
5
|
data: T[] | undefined;
|
|
6
6
|
renderItems: (item: T, index?: number) => React__default.ReactNode;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Generic list renderer that maps an array through a render function.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <ListView data={products} renderItems={(item) => <ProductCard {...item} />} />
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
8
16
|
declare const ListView: <T>({ data, renderItems }: ListViewProps<T>) => react_jsx_runtime.JSX.Element;
|
|
9
17
|
|
|
10
18
|
export { ListView };
|
package/dist/list-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/list-view.tsx"],"sourcesContent":["import React from \"react\";\n\ninterface ListViewProps<T> {\n data: T[] | undefined;\n renderItems: (item: T, index?: number) => React.ReactNode;\n}\n\nexport const ListView = <T,>({ data, renderItems }: ListViewProps<T>) => {\n return (\n <>\n {data?.map((item, index) => (\n <React.Fragment key={index}>{renderItems(item, index)}</React.Fragment>\n ))}\n </>\n );\n};\n"],"mappings":";;;AAAA,OAAO,WAAW;
|
|
1
|
+
{"version":3,"sources":["../src/list-view.tsx"],"sourcesContent":["import React from \"react\";\n\ninterface ListViewProps<T> {\n data: T[] | undefined;\n renderItems: (item: T, index?: number) => React.ReactNode;\n}\n\n/**\n * Generic list renderer that maps an array through a render function.\n *\n * @example\n * ```tsx\n * <ListView data={products} renderItems={(item) => <ProductCard {...item} />} />\n * ```\n */\nexport const ListView = <T,>({ data, renderItems }: ListViewProps<T>) => {\n return (\n <>\n {data?.map((item, index) => (\n <React.Fragment key={index}>{renderItems(item, index)}</React.Fragment>\n ))}\n </>\n );\n};\n"],"mappings":";;;AAAA,OAAO,WAAW;AAiBd,mBAEI,WAFJ;AAFG,IAAM,WAAW,CAAK,EAAE,MAAM,YAAY,MAAwB;AACvE,SACE,gCACG,gBAAM,IAAI,CAAC,MAAM,UAChB,oBAAC,MAAM,UAAN,EAA4B,sBAAY,MAAM,KAAK,KAA/B,KAAiC,CACvD,GACH;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/navigation-menu.cjs","../src/navigation-menu.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ,YAAY;AACZ;AACA;
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/navigation-menu.cjs","../src/navigation-menu.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/navigation-menu.cjs","sourcesContent":[null,"/** Styled wrapper around @radix-ui/react-navigation-menu. See https://www.radix-ui.com/primitives/docs/components/navigation-menu */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { LuChevronDown } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-[1000] flex max-w-max flex-1 items-center justify-center\",\n className,\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n));\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className,\n )}\n {...props}\n />\n));\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item;\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent\",\n);\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <LuChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n));\nNavigationMenuTrigger.displayName =\n NavigationMenuPrimitive.Trigger.displayName;\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto\",\n className,\n )}\n {...props}\n />\n));\nNavigationMenuContent.displayName =\n NavigationMenuPrimitive.Content.displayName;\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link;\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div\n className={cn(\n \"absolute left-0 top-full z-[1000] flex justify-center\",\n )}\n >\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative z-[1000] mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className,\n )}\n ref={ref}\n {...props}\n />\n </div>\n));\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName;\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className,\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n));\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName;\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n};\n"]}
|