@voyantjs/pricing-ui 0.35.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/components/dropoff-price-rule-dialog.d.ts.map +1 -1
  2. package/dist/components/dropoff-price-rule-dialog.js +5 -1
  3. package/dist/components/extra-price-rule-dialog.d.ts.map +1 -1
  4. package/dist/components/extra-price-rule-dialog.js +5 -1
  5. package/dist/components/option-start-time-rule-dialog.d.ts.map +1 -1
  6. package/dist/components/option-start-time-rule-dialog.js +5 -1
  7. package/dist/components/option-unit-combobox.d.ts +11 -0
  8. package/dist/components/option-unit-combobox.d.ts.map +1 -0
  9. package/dist/components/option-unit-combobox.js +53 -0
  10. package/dist/components/option-unit-price-rule-combobox.d.ts +9 -0
  11. package/dist/components/option-unit-price-rule-combobox.d.ts.map +1 -0
  12. package/dist/components/option-unit-price-rule-combobox.js +53 -0
  13. package/dist/components/option-unit-price-rule-dialog.d.ts.map +1 -1
  14. package/dist/components/option-unit-price-rule-dialog.js +15 -3
  15. package/dist/components/option-unit-tier-dialog.d.ts.map +1 -1
  16. package/dist/components/option-unit-tier-dialog.js +6 -2
  17. package/dist/components/pickup-price-rule-dialog.d.ts.map +1 -1
  18. package/dist/components/pickup-price-rule-dialog.js +5 -1
  19. package/dist/components/product-option-combobox.d.ts +2 -1
  20. package/dist/components/product-option-combobox.d.ts.map +1 -1
  21. package/dist/components/product-option-combobox.js +4 -4
  22. package/dist/i18n/en.d.ts +16 -9
  23. package/dist/i18n/en.d.ts.map +1 -1
  24. package/dist/i18n/en.js +22 -15
  25. package/dist/i18n/messages.d.ts +16 -9
  26. package/dist/i18n/messages.d.ts.map +1 -1
  27. package/dist/i18n/provider.d.ts +32 -18
  28. package/dist/i18n/provider.d.ts.map +1 -1
  29. package/dist/i18n/ro.d.ts +16 -9
  30. package/dist/i18n/ro.d.ts.map +1 -1
  31. package/dist/i18n/ro.js +22 -15
  32. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"dropoff-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/dropoff-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,sBAAsB,EAA+B,MAAM,yBAAyB,CAAA;AA4DlG,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACnD,CAAA;AAKD,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAqMpF"}
1
+ {"version":3,"file":"dropoff-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/dropoff-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,sBAAsB,EAA+B,MAAM,yBAAyB,CAAA;AA6DlG,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACnD,CAAA;AAKD,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CA2MpF"}
@@ -9,6 +9,7 @@ import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
10
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
11
11
  import { OptionPriceRuleCombobox } from "./option-price-rule-combobox.js";
12
+ import { ProductOptionCombobox } from "./product-option-combobox.js";
12
13
  const ADDON_PRICING_MODES = [
13
14
  "included",
14
15
  "per_person",
@@ -104,7 +105,10 @@ export function DropoffPriceRuleDialog({ open, onOpenChange, rule, onSuccess })
104
105
  : messages.locationPriceRuleDialog.dropoff.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionPriceRule }), _jsx(OptionPriceRuleCombobox, { value: form.watch("optionPriceRuleId"), onChange: (value) => form.setValue("optionPriceRuleId", value ?? "", {
105
106
  shouldDirty: true,
106
107
  shouldValidate: true,
107
- }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionId }), _jsx(Input, { ...form.register("optionId"), placeholder: messages.locationPriceRuleDialog.placeholders.optionId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.facilityId }), _jsx(Input, { ...form.register("facilityId"), placeholder: messages.locationPriceRuleDialog.placeholders.facilityId })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.dropoffName }), _jsx(Input, { ...form.register("dropoffName") })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.dropoffCode }), _jsx(Input, { ...form.register("dropoffCode") })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: ADDON_PRICING_MODES.map((mode) => ({
108
+ }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionId }), _jsx(ProductOptionCombobox, { value: form.watch("optionId"), onChange: (value) => form.setValue("optionId", value ?? "", {
109
+ shouldDirty: true,
110
+ shouldValidate: true,
111
+ }), requireProduct: false })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.facilityId }), _jsx(Input, { ...form.register("facilityId"), placeholder: messages.locationPriceRuleDialog.placeholders.facilityId })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.dropoffName }), _jsx(Input, { ...form.register("dropoffName") })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.dropoffCode }), _jsx(Input, { ...form.register("dropoffCode") })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: ADDON_PRICING_MODES.map((mode) => ({
108
112
  label: messages.common.addonPricingModeLabels[mode],
109
113
  value: mode,
110
114
  })), value: form.watch("pricingMode"), onValueChange: (value) => form.setValue("pricingMode", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: ADDON_PRICING_MODES.map((mode) => (_jsx(SelectItem, { value: mode, children: messages.common.addonPricingModeLabels[mode] }, mode))) })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.sellAmount }), _jsx(Input, { ...form.register("sellAmount"), type: "number", step: "0.01", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.costAmount }), _jsx(Input, { ...form.register("costAmount"), type: "number", step: "0.01", min: "0" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number" })] }), _jsxs("div", { className: "flex items-center gap-3 pt-6", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (checked) => form.setValue("active", checked) }), _jsx(Label, { children: messages.locationPriceRuleDialog.fields.active })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.notes }), _jsx(Textarea, { ...form.register("notes") })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : null, isEditing
@@ -1 +1 @@
1
- {"version":3,"file":"extra-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/extra-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAA6B,MAAM,yBAAyB,CAAA;AAwD9F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAA;CACjD,CAAA;AAKD,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAiMlF"}
1
+ {"version":3,"file":"extra-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/extra-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAA6B,MAAM,yBAAyB,CAAA;AAyD9F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAA;CACjD,CAAA;AAKD,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAuMlF"}
@@ -9,6 +9,7 @@ import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
10
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
11
11
  import { OptionPriceRuleCombobox } from "./option-price-rule-combobox.js";
12
+ import { ProductOptionCombobox } from "./product-option-combobox.js";
12
13
  const ADDON_PRICING_MODES = [
13
14
  "included",
14
15
  "per_person",
@@ -97,7 +98,10 @@ export function ExtraPriceRuleDialog({ open, onOpenChange, rule, onSuccess }) {
97
98
  : messages.locationPriceRuleDialog.extra.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionPriceRule }), _jsx(OptionPriceRuleCombobox, { value: form.watch("optionPriceRuleId"), onChange: (value) => form.setValue("optionPriceRuleId", value ?? "", {
98
99
  shouldDirty: true,
99
100
  shouldValidate: true,
100
- }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionId }), _jsx(Input, { ...form.register("optionId"), placeholder: messages.locationPriceRuleDialog.placeholders.optionId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.extra.fields.productExtraId }), _jsx(Input, { ...form.register("productExtraId"), placeholder: messages.locationPriceRuleDialog.extra.placeholders.productExtraId })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.extra.fields.optionExtraConfigId }), _jsx(Input, { ...form.register("optionExtraConfigId"), placeholder: messages.locationPriceRuleDialog.extra.placeholders.optionExtraConfigId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: ADDON_PRICING_MODES.map((mode) => ({
101
+ }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionId }), _jsx(ProductOptionCombobox, { value: form.watch("optionId"), onChange: (value) => form.setValue("optionId", value ?? "", {
102
+ shouldDirty: true,
103
+ shouldValidate: true,
104
+ }), requireProduct: false })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.extra.fields.productExtraId }), _jsx(Input, { ...form.register("productExtraId"), placeholder: messages.locationPriceRuleDialog.extra.placeholders.productExtraId })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.extra.fields.optionExtraConfigId }), _jsx(Input, { ...form.register("optionExtraConfigId"), placeholder: messages.locationPriceRuleDialog.extra.placeholders.optionExtraConfigId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: ADDON_PRICING_MODES.map((mode) => ({
101
105
  label: messages.common.addonPricingModeLabels[mode],
102
106
  value: mode,
103
107
  })), value: form.watch("pricingMode"), onValueChange: (value) => form.setValue("pricingMode", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: ADDON_PRICING_MODES.map((mode) => (_jsx(SelectItem, { value: mode, children: messages.common.addonPricingModeLabels[mode] }, mode))) })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.sellAmount }), _jsx(Input, { ...form.register("sellAmount"), type: "number", step: "0.01", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.costAmount }), _jsx(Input, { ...form.register("costAmount"), type: "number", step: "0.01", min: "0" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number" })] }), _jsxs("div", { className: "flex items-center gap-3 pt-6", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (checked) => form.setValue("active", checked) }), _jsx(Label, { children: messages.locationPriceRuleDialog.fields.active })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.notes }), _jsx(Textarea, { ...form.register("notes") })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : null, isEditing
@@ -1 +1 @@
1
- {"version":3,"file":"option-start-time-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/option-start-time-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,yBAAyB,CAAA;AAyDhC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,yBAAyB,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAA;CACtD,CAAA;AAOD,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAgOvF"}
1
+ {"version":3,"file":"option-start-time-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/option-start-time-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,yBAAyB,CAAA;AA0DhC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,yBAAyB,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAA;CACtD,CAAA;AAOD,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAsOvF"}
@@ -9,6 +9,7 @@ import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
10
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
11
11
  import { OptionPriceRuleCombobox } from "./option-price-rule-combobox.js";
12
+ import { ProductOptionCombobox } from "./product-option-combobox.js";
12
13
  const RULE_MODES = ["included", "excluded", "override", "adjustment"];
13
14
  const ADJUSTMENT_TYPES = ["fixed", "percentage"];
14
15
  function createFormSchema(messages) {
@@ -97,7 +98,10 @@ export function OptionStartTimeRuleDialog({ open, onOpenChange, rule, onSuccess
97
98
  : messages.optionStartTimeRuleDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.optionPriceRule }), _jsx(OptionPriceRuleCombobox, { value: form.watch("optionPriceRuleId"), onChange: (value) => form.setValue("optionPriceRuleId", value ?? "", {
98
99
  shouldDirty: true,
99
100
  shouldValidate: true,
100
- }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.optionId }), _jsx(Input, { ...form.register("optionId"), placeholder: messages.optionStartTimeRuleDialog.placeholders.optionId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.startTimeId }), _jsx(Input, { ...form.register("startTimeId"), placeholder: messages.optionStartTimeRuleDialog.placeholders.startTimeId })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.ruleMode }), _jsxs(Select, { items: RULE_MODES.map((mode) => ({
101
+ }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.optionId }), _jsx(ProductOptionCombobox, { value: form.watch("optionId"), onChange: (value) => form.setValue("optionId", value ?? "", {
102
+ shouldDirty: true,
103
+ shouldValidate: true,
104
+ }), requireProduct: false })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.startTimeId }), _jsx(Input, { ...form.register("startTimeId"), placeholder: messages.optionStartTimeRuleDialog.placeholders.startTimeId })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.ruleMode }), _jsxs(Select, { items: RULE_MODES.map((mode) => ({
101
105
  label: messages.common.startTimeRuleModeLabels[mode],
102
106
  value: mode,
103
107
  })), value: form.watch("ruleMode"), onValueChange: (value) => form.setValue("ruleMode", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: RULE_MODES.map((mode) => (_jsx(SelectItem, { value: mode, children: messages.common.startTimeRuleModeLabels[mode] }, mode))) })] })] }), showAdjustment ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionStartTimeRuleDialog.fields.adjustmentType }), _jsxs(Select, { items: ADJUSTMENT_TYPES.map((type) => ({
@@ -0,0 +1,11 @@
1
+ type Props = {
2
+ optionId?: string | null;
3
+ value: string | null | undefined;
4
+ onChange: (value: string | null) => void;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ requireOption?: boolean;
8
+ };
9
+ export declare function OptionUnitCombobox({ optionId, value, onChange, placeholder, disabled, requireOption, }: Props): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=option-unit-combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-unit-combobox.d.ts","sourceRoot":"","sources":["../../src/components/option-unit-combobox.tsx"],"names":[],"mappings":"AAcA,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAID,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,aAAoB,GACrB,EAAE,KAAK,2CAgFP"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useOptionUnit, useOptionUnits } from "@voyantjs/products-react";
3
+ import { Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxList, } from "@voyantjs/ui/components/combobox";
4
+ import * as React from "react";
5
+ import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
6
+ const PAGE_SIZE = 100;
7
+ export function OptionUnitCombobox({ optionId, value, onChange, placeholder, disabled, requireOption = true, }) {
8
+ const messages = usePricingUiMessagesOrDefault();
9
+ const [search, setSearch] = React.useState("");
10
+ const listQuery = useOptionUnits({
11
+ optionId: optionId || undefined,
12
+ limit: PAGE_SIZE,
13
+ enabled: !requireOption || !!optionId,
14
+ });
15
+ const selectedQuery = useOptionUnit(value ?? undefined, { enabled: !!value });
16
+ const items = React.useMemo(() => {
17
+ const map = new Map();
18
+ for (const item of listQuery.data?.data ?? []) {
19
+ if (!search || item.name.toLowerCase().includes(search.toLowerCase()))
20
+ map.set(item.id, item);
21
+ }
22
+ if (selectedQuery.data)
23
+ map.set(selectedQuery.data.id, selectedQuery.data);
24
+ return Array.from(map.values());
25
+ }, [listQuery.data?.data, search, selectedQuery.data]);
26
+ const itemMap = React.useMemo(() => new Map(items.map((item) => [item.id, item])), [items]);
27
+ const selected = value ? itemMap.get(value) : undefined;
28
+ const selectedLabel = selected ? selected.name : "";
29
+ const [inputValue, setInputValue] = React.useState(selectedLabel);
30
+ React.useEffect(() => {
31
+ if (selectedLabel)
32
+ setInputValue(selectedLabel);
33
+ }, [selectedLabel]);
34
+ return (_jsxs(Combobox, { items: items.map((item) => item.id), value: value ?? null, inputValue: inputValue, autoHighlight: true, disabled: disabled || (requireOption && !optionId), itemToStringValue: (id) => itemMap.get(id)?.name ?? "", onInputValueChange: (next) => {
35
+ setInputValue(next);
36
+ setSearch(next);
37
+ if (!next)
38
+ onChange(null);
39
+ }, onValueChange: (next) => {
40
+ const id = next ?? null;
41
+ onChange(id);
42
+ setInputValue(id ? (itemMap.get(id)?.name ?? "") : "");
43
+ }, children: [_jsx(ComboboxInput, { placeholder: placeholder ?? messages.comboboxes.optionUnit.placeholder, showClear: !!value }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: listQuery.isPending || selectedQuery.isPending
44
+ ? messages.common.loading
45
+ : optionId || !requireOption
46
+ ? messages.comboboxes.optionUnit.empty
47
+ : messages.comboboxes.optionUnit.missingParent }), _jsx(ComboboxList, { children: _jsx(ComboboxCollection, { children: (id) => {
48
+ const item = itemMap.get(id);
49
+ if (!item)
50
+ return null;
51
+ return (_jsx(ComboboxItem, { value: item.id, children: _jsxs("div", { className: "flex min-w-0 flex-col", children: [_jsx("span", { className: "truncate font-medium", children: item.name }), _jsx("span", { className: "truncate text-xs text-muted-foreground", children: [item.code, item.unitType].filter(Boolean).join(" / ") })] }) }, item.id));
52
+ } }) })] })] }));
53
+ }
@@ -0,0 +1,9 @@
1
+ type Props = {
2
+ value: string | null | undefined;
3
+ onChange: (value: string | null) => void;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ };
7
+ export declare function OptionUnitPriceRuleCombobox({ value, onChange, placeholder, disabled }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=option-unit-price-rule-combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-unit-price-rule-combobox.d.ts","sourceRoot":"","sources":["../../src/components/option-unit-price-rule-combobox.tsx"],"names":[],"mappings":"AAkBA,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAID,wBAAgB,2BAA2B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAmF5F"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useOptionUnitPriceRule, useOptionUnitPriceRules, } from "@voyantjs/pricing-react";
3
+ import { Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxList, } from "@voyantjs/ui/components/combobox";
4
+ import * as React from "react";
5
+ import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
6
+ const PAGE_SIZE = 100;
7
+ export function OptionUnitPriceRuleCombobox({ value, onChange, placeholder, disabled }) {
8
+ const messages = usePricingUiMessagesOrDefault();
9
+ const [search, setSearch] = React.useState("");
10
+ const listQuery = useOptionUnitPriceRules({ limit: PAGE_SIZE });
11
+ const selectedQuery = useOptionUnitPriceRule(value, { enabled: !!value });
12
+ const items = React.useMemo(() => {
13
+ const map = new Map();
14
+ for (const item of listQuery.data?.data ?? []) {
15
+ const searchableText = `${item.optionId} / ${item.unitId}`;
16
+ if (!search || searchableText.toLowerCase().includes(search.toLowerCase())) {
17
+ map.set(item.id, item);
18
+ }
19
+ }
20
+ if (selectedQuery.data)
21
+ map.set(selectedQuery.data.id, selectedQuery.data);
22
+ return Array.from(map.values());
23
+ }, [listQuery.data?.data, search, selectedQuery.data]);
24
+ const itemMap = React.useMemo(() => new Map(items.map((item) => [item.id, item])), [items]);
25
+ const selected = value ? itemMap.get(value) : undefined;
26
+ const selectedLabel = selected ? `${selected.optionId} / ${selected.unitId}` : "";
27
+ const [inputValue, setInputValue] = React.useState(selectedLabel);
28
+ React.useEffect(() => {
29
+ if (selectedLabel)
30
+ setInputValue(selectedLabel);
31
+ }, [selectedLabel]);
32
+ return (_jsxs(Combobox, { items: items.map((item) => item.id), value: value ?? null, inputValue: inputValue, autoHighlight: true, disabled: disabled, itemToStringValue: (id) => {
33
+ const item = itemMap.get(id);
34
+ return item ? `${item.optionId} / ${item.unitId}` : "";
35
+ }, onInputValueChange: (next) => {
36
+ setInputValue(next);
37
+ setSearch(next);
38
+ if (!next)
39
+ onChange(null);
40
+ }, onValueChange: (next) => {
41
+ const id = next ?? null;
42
+ onChange(id);
43
+ const item = id ? itemMap.get(id) : undefined;
44
+ setInputValue(item ? `${item.optionId} / ${item.unitId}` : "");
45
+ }, children: [_jsx(ComboboxInput, { placeholder: placeholder ?? messages.comboboxes.optionUnitPriceRule.placeholder, showClear: !!value }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: listQuery.isPending || selectedQuery.isPending
46
+ ? messages.common.loading
47
+ : messages.comboboxes.optionUnitPriceRule.empty }), _jsx(ComboboxList, { children: _jsx(ComboboxCollection, { children: (id) => {
48
+ const item = itemMap.get(id);
49
+ if (!item)
50
+ return null;
51
+ return (_jsx(ComboboxItem, { value: item.id, children: _jsxs("div", { className: "flex min-w-0 flex-col", children: [_jsxs("span", { className: "truncate font-medium", children: [item.optionId, " / ", item.unitId] }), _jsx("span", { className: "truncate text-xs text-muted-foreground", children: item.pricingMode })] }) }, item.id));
52
+ } }) })] })] }));
53
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"option-unit-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/option-unit-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,yBAAyB,CAAA;AA+DhC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,yBAAyB,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAA;CACtD,CAAA;AAOD,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAgNvF"}
1
+ {"version":3,"file":"option-unit-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/option-unit-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,yBAAyB,CAAA;AAiEhC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,yBAAyB,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAA;CACtD,CAAA;AAOD,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CA8NvF"}
@@ -9,7 +9,9 @@ import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
10
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
11
11
  import { OptionPriceRuleCombobox } from "./option-price-rule-combobox.js";
12
+ import { OptionUnitCombobox } from "./option-unit-combobox.js";
12
13
  import { PricingCategoryCombobox } from "./pricing-category-combobox.js";
14
+ import { ProductOptionCombobox } from "./product-option-combobox.js";
13
15
  const PRICING_MODES = [
14
16
  "per_unit",
15
17
  "per_person",
@@ -23,8 +25,8 @@ function createFormSchema(messages) {
23
25
  optionPriceRuleId: z
24
26
  .string()
25
27
  .min(1, messages.optionUnitPriceRuleDialog.validation.optionPriceRuleRequired),
26
- optionId: z.string().min(1, messages.optionUnitPriceRuleDialog.validation.optionIdRequired),
27
- unitId: z.string().min(1, messages.optionUnitPriceRuleDialog.validation.unitIdRequired),
28
+ optionId: z.string().min(1, messages.optionUnitPriceRuleDialog.validation.optionRequired),
29
+ unitId: z.string().min(1, messages.optionUnitPriceRuleDialog.validation.unitRequired),
28
30
  pricingCategoryId: z.string().optional().nullable(),
29
31
  pricingMode: z.enum(PRICING_MODES),
30
32
  sellAmount: z.coerce.number().min(0).optional().or(z.literal("")).nullable(),
@@ -103,12 +105,22 @@ export function OptionUnitPriceRuleDialog({ open, onOpenChange, rule, onSuccess
103
105
  onOpenChange(false);
104
106
  };
105
107
  const isSubmitting = create.isPending || update.isPending;
108
+ const selectedOptionId = form.watch("optionId");
106
109
  return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { size: "lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing
107
110
  ? messages.optionUnitPriceRuleDialog.titles.edit
108
111
  : messages.optionUnitPriceRuleDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.optionPriceRule }), _jsx(OptionPriceRuleCombobox, { value: form.watch("optionPriceRuleId"), onChange: (value) => form.setValue("optionPriceRuleId", value ?? "", {
109
112
  shouldDirty: true,
110
113
  shouldValidate: true,
111
- }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.optionId }), _jsx(Input, { ...form.register("optionId"), placeholder: messages.optionUnitPriceRuleDialog.placeholders.optionId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.unitId }), _jsx(Input, { ...form.register("unitId"), placeholder: messages.optionUnitPriceRuleDialog.placeholders.unitId })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.pricingCategory }), _jsx(PricingCategoryCombobox, { value: form.watch("pricingCategoryId"), onChange: (value) => form.setValue("pricingCategoryId", value ?? "", { shouldDirty: true }), placeholder: messages.optionUnitPriceRuleDialog.placeholders.pricingCategory })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: PRICING_MODES.map((mode) => ({
114
+ }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.option }), _jsx(ProductOptionCombobox, { value: selectedOptionId, onChange: (value) => {
115
+ form.setValue("optionId", value ?? "", {
116
+ shouldDirty: true,
117
+ shouldValidate: true,
118
+ });
119
+ form.setValue("unitId", "", { shouldDirty: true, shouldValidate: true });
120
+ }, requireProduct: false })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.unit }), _jsx(OptionUnitCombobox, { optionId: selectedOptionId, value: form.watch("unitId"), onChange: (value) => form.setValue("unitId", value ?? "", {
121
+ shouldDirty: true,
122
+ shouldValidate: true,
123
+ }) })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.pricingCategory }), _jsx(PricingCategoryCombobox, { value: form.watch("pricingCategoryId"), onChange: (value) => form.setValue("pricingCategoryId", value ?? "", { shouldDirty: true }), placeholder: messages.optionUnitPriceRuleDialog.placeholders.pricingCategory })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: PRICING_MODES.map((mode) => ({
112
124
  label: messages.common.unitPricingModeLabels[mode],
113
125
  value: mode,
114
126
  })), value: form.watch("pricingMode"), onValueChange: (value) => form.setValue("pricingMode", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: PRICING_MODES.map((mode) => (_jsx(SelectItem, { value: mode, children: messages.common.unitPricingModeLabels[mode] }, mode))) })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.sellAmount }), _jsx(Input, { ...form.register("sellAmount"), type: "number", step: "0.01", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.costAmount }), _jsx(Input, { ...form.register("costAmount"), type: "number", step: "0.01", min: "0" })] })] }), _jsxs("div", { className: "grid grid-cols-3 gap-3", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.minQuantity }), _jsx(Input, { ...form.register("minQuantity"), type: "number", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.maxQuantity }), _jsx(Input, { ...form.register("maxQuantity"), type: "number", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number" })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (checked) => form.setValue("active", checked) }), _jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.active })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitPriceRuleDialog.fields.notes }), _jsx(Textarea, { ...form.register("notes") })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : null, isEditing
@@ -1 +1 @@
1
- {"version":3,"file":"option-unit-tier-dialog.d.ts","sourceRoot":"","sources":["../../src/components/option-unit-tier-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAA6B,MAAM,yBAAyB,CAAA;AA0C9F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAA;CACjD,CAAA;AAOD,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAkJlF"}
1
+ {"version":3,"file":"option-unit-tier-dialog.d.ts","sourceRoot":"","sources":["../../src/components/option-unit-tier-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAA6B,MAAM,yBAAyB,CAAA;AA2C9F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAA;CACjD,CAAA;AAOD,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAwJlF"}
@@ -8,11 +8,12 @@ import { useEffect } from "react";
8
8
  import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
10
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
11
+ import { OptionUnitPriceRuleCombobox } from "./option-unit-price-rule-combobox.js";
11
12
  function createFormSchema(messages) {
12
13
  return z.object({
13
14
  optionUnitPriceRuleId: z
14
15
  .string()
15
- .min(1, messages.optionUnitTierDialog.validation.optionUnitPriceRuleIdRequired),
16
+ .min(1, messages.optionUnitTierDialog.validation.optionUnitPriceRuleRequired),
16
17
  minQuantity: z.coerce
17
18
  .number()
18
19
  .int()
@@ -86,7 +87,10 @@ export function OptionUnitTierDialog({ open, onOpenChange, tier, onSuccess }) {
86
87
  const isSubmitting = create.isPending || update.isPending;
87
88
  return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing
88
89
  ? messages.optionUnitTierDialog.titles.edit
89
- : messages.optionUnitTierDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.optionUnitPriceRuleId }), _jsx(Input, { ...form.register("optionUnitPriceRuleId"), placeholder: messages.optionUnitTierDialog.placeholders.optionUnitPriceRuleId, disabled: isEditing }), form.formState.errors.optionUnitPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionUnitPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.minQuantity }), _jsx(Input, { ...form.register("minQuantity"), type: "number", min: "1" }), form.formState.errors.minQuantity ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.minQuantity.message })) : null] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.maxQuantity }), _jsx(Input, { ...form.register("maxQuantity"), type: "number", min: "1" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.sellAmount }), _jsx(Input, { ...form.register("sellAmount"), type: "number", step: "0.01", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.costAmount }), _jsx(Input, { ...form.register("costAmount"), type: "number", step: "0.01", min: "0" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number" })] }), _jsxs("div", { className: "flex items-center gap-3 pt-6", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (checked) => form.setValue("active", checked) }), _jsx(Label, { children: messages.optionUnitTierDialog.fields.active })] })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : null, isEditing
90
+ : messages.optionUnitTierDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.optionUnitPriceRule }), _jsx(OptionUnitPriceRuleCombobox, { value: form.watch("optionUnitPriceRuleId"), onChange: (value) => form.setValue("optionUnitPriceRuleId", value ?? "", {
91
+ shouldDirty: true,
92
+ shouldValidate: true,
93
+ }), placeholder: messages.optionUnitTierDialog.placeholders.optionUnitPriceRule, disabled: isEditing }), form.formState.errors.optionUnitPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionUnitPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.minQuantity }), _jsx(Input, { ...form.register("minQuantity"), type: "number", min: "1" }), form.formState.errors.minQuantity ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.minQuantity.message })) : null] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.maxQuantity }), _jsx(Input, { ...form.register("maxQuantity"), type: "number", min: "1" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.sellAmount }), _jsx(Input, { ...form.register("sellAmount"), type: "number", step: "0.01", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.costAmount }), _jsx(Input, { ...form.register("costAmount"), type: "number", step: "0.01", min: "0" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.optionUnitTierDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number" })] }), _jsxs("div", { className: "flex items-center gap-3 pt-6", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (checked) => form.setValue("active", checked) }), _jsx(Label, { children: messages.optionUnitTierDialog.fields.active })] })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : null, isEditing
90
94
  ? messages.common.saveChanges
91
95
  : messages.optionUnitTierDialog.actions.create] })] })] })] }) }));
92
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pickup-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/pickup-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAA8B,MAAM,yBAAyB,CAAA;AAyDhG,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAClD,CAAA;AAKD,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CAoLnF"}
1
+ {"version":3,"file":"pickup-price-rule-dialog.d.ts","sourceRoot":"","sources":["../../src/components/pickup-price-rule-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAA8B,MAAM,yBAAyB,CAAA;AA0DhG,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAClD,CAAA;AAKD,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,2CA0LnF"}
@@ -9,6 +9,7 @@ import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
10
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
11
11
  import { OptionPriceRuleCombobox } from "./option-price-rule-combobox.js";
12
+ import { ProductOptionCombobox } from "./product-option-combobox.js";
12
13
  const ADDON_PRICING_MODES = [
13
14
  "included",
14
15
  "per_person",
@@ -95,7 +96,10 @@ export function PickupPriceRuleDialog({ open, onOpenChange, rule, onSuccess }) {
95
96
  : messages.locationPriceRuleDialog.pickup.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionPriceRule }), _jsx(OptionPriceRuleCombobox, { value: form.watch("optionPriceRuleId"), onChange: (value) => form.setValue("optionPriceRuleId", value ?? "", {
96
97
  shouldDirty: true,
97
98
  shouldValidate: true,
98
- }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionId }), _jsx(Input, { ...form.register("optionId"), placeholder: messages.locationPriceRuleDialog.placeholders.optionId })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pickupPointId }), _jsx(Input, { ...form.register("pickupPointId"), placeholder: messages.locationPriceRuleDialog.placeholders.pickupPointId })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: ADDON_PRICING_MODES.map((mode) => ({
99
+ }), disabled: isEditing }), form.formState.errors.optionPriceRuleId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.optionPriceRuleId.message })) : null] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.optionId }), _jsx(ProductOptionCombobox, { value: form.watch("optionId"), onChange: (value) => form.setValue("optionId", value ?? "", {
100
+ shouldDirty: true,
101
+ shouldValidate: true,
102
+ }), requireProduct: false })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pickupPointId }), _jsx(Input, { ...form.register("pickupPointId"), placeholder: messages.locationPriceRuleDialog.placeholders.pickupPointId })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.pricingMode }), _jsxs(Select, { items: ADDON_PRICING_MODES.map((mode) => ({
99
103
  label: messages.common.addonPricingModeLabels[mode],
100
104
  value: mode,
101
105
  })), value: form.watch("pricingMode"), onValueChange: (value) => form.setValue("pricingMode", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: ADDON_PRICING_MODES.map((mode) => (_jsx(SelectItem, { value: mode, children: messages.common.addonPricingModeLabels[mode] }, mode))) })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.sellAmount }), _jsx(Input, { ...form.register("sellAmount"), type: "number", step: "0.01", min: "0" })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.costAmount }), _jsx(Input, { ...form.register("costAmount"), type: "number", step: "0.01", min: "0" })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number" })] }), _jsxs("div", { className: "flex items-center gap-3 pt-6", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (checked) => form.setValue("active", checked) }), _jsx(Label, { children: messages.locationPriceRuleDialog.fields.active })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.locationPriceRuleDialog.fields.notes }), _jsx(Textarea, { ...form.register("notes") })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting ? _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : null, isEditing
@@ -4,7 +4,8 @@ type Props = {
4
4
  onChange: (value: string | null) => void;
5
5
  placeholder?: string;
6
6
  disabled?: boolean;
7
+ requireProduct?: boolean;
7
8
  };
8
- export declare function ProductOptionCombobox({ productId, value, onChange, placeholder, disabled, }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ProductOptionCombobox({ productId, value, onChange, placeholder, disabled, requireProduct, }: Props): import("react/jsx-runtime").JSX.Element;
9
10
  export {};
10
11
  //# sourceMappingURL=product-option-combobox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-option-combobox.d.ts","sourceRoot":"","sources":["../../src/components/product-option-combobox.tsx"],"names":[],"mappings":"AAkBA,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAID,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CAgFP"}
1
+ {"version":3,"file":"product-option-combobox.d.ts","sourceRoot":"","sources":["../../src/components/product-option-combobox.tsx"],"names":[],"mappings":"AAkBA,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAID,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,cAAqB,GACtB,EAAE,KAAK,2CAgFP"}
@@ -4,13 +4,13 @@ import { Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxI
4
4
  import * as React from "react";
5
5
  import { usePricingUiMessagesOrDefault } from "../i18n/provider.js";
6
6
  const PAGE_SIZE = 100;
7
- export function ProductOptionCombobox({ productId, value, onChange, placeholder, disabled, }) {
7
+ export function ProductOptionCombobox({ productId, value, onChange, placeholder, disabled, requireProduct = true, }) {
8
8
  const messages = usePricingUiMessagesOrDefault();
9
9
  const [search, setSearch] = React.useState("");
10
10
  const listQuery = useProductOptions({
11
11
  productId: productId || undefined,
12
12
  limit: PAGE_SIZE,
13
- enabled: !!productId,
13
+ enabled: !requireProduct || !!productId,
14
14
  });
15
15
  const selectedQuery = useProductOption(value, { enabled: !!value });
16
16
  const items = React.useMemo(() => {
@@ -31,7 +31,7 @@ export function ProductOptionCombobox({ productId, value, onChange, placeholder,
31
31
  if (selectedLabel)
32
32
  setInputValue(selectedLabel);
33
33
  }, [selectedLabel]);
34
- return (_jsxs(Combobox, { items: items.map((item) => item.id), value: value ?? null, inputValue: inputValue, autoHighlight: true, disabled: disabled || !productId, itemToStringValue: (id) => itemMap.get(id)?.name ?? "", onInputValueChange: (next) => {
34
+ return (_jsxs(Combobox, { items: items.map((item) => item.id), value: value ?? null, inputValue: inputValue, autoHighlight: true, disabled: disabled || (requireProduct && !productId), itemToStringValue: (id) => itemMap.get(id)?.name ?? "", onInputValueChange: (next) => {
35
35
  setInputValue(next);
36
36
  setSearch(next);
37
37
  if (!next)
@@ -42,7 +42,7 @@ export function ProductOptionCombobox({ productId, value, onChange, placeholder,
42
42
  setInputValue(id ? (itemMap.get(id)?.name ?? "") : "");
43
43
  }, children: [_jsx(ComboboxInput, { placeholder: placeholder ?? messages.comboboxes.productOption.placeholder, showClear: !!value }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: listQuery.isPending || selectedQuery.isPending
44
44
  ? messages.common.loading
45
- : productId
45
+ : productId || !requireProduct
46
46
  ? messages.comboboxes.productOption.empty
47
47
  : messages.comboboxes.productOption.missingParent }), _jsx(ComboboxList, { children: _jsx(ComboboxCollection, { children: (id) => {
48
48
  const item = itemMap.get(id);
package/dist/i18n/en.d.ts CHANGED
@@ -96,6 +96,15 @@ export declare const pricingUiEn: {
96
96
  empty: string;
97
97
  missingParent: string;
98
98
  };
99
+ optionUnit: {
100
+ placeholder: string;
101
+ empty: string;
102
+ missingParent: string;
103
+ };
104
+ optionUnitPriceRule: {
105
+ placeholder: string;
106
+ empty: string;
107
+ };
99
108
  };
100
109
  pricingCategoriesPage: {
101
110
  title: string;
@@ -417,8 +426,8 @@ export declare const pricingUiEn: {
417
426
  };
418
427
  fields: {
419
428
  optionPriceRule: string;
420
- optionId: string;
421
- unitId: string;
429
+ option: string;
430
+ unit: string;
422
431
  pricingCategory: string;
423
432
  pricingMode: string;
424
433
  sellAmount: string;
@@ -430,14 +439,12 @@ export declare const pricingUiEn: {
430
439
  notes: string;
431
440
  };
432
441
  placeholders: {
433
- optionId: string;
434
- unitId: string;
435
442
  pricingCategory: string;
436
443
  };
437
444
  validation: {
438
445
  optionPriceRuleRequired: string;
439
- optionIdRequired: string;
440
- unitIdRequired: string;
446
+ optionRequired: string;
447
+ unitRequired: string;
441
448
  };
442
449
  actions: {
443
450
  create: string;
@@ -449,7 +456,7 @@ export declare const pricingUiEn: {
449
456
  edit: string;
450
457
  };
451
458
  fields: {
452
- optionUnitPriceRuleId: string;
459
+ optionUnitPriceRule: string;
453
460
  minQuantity: string;
454
461
  maxQuantity: string;
455
462
  sellAmount: string;
@@ -458,10 +465,10 @@ export declare const pricingUiEn: {
458
465
  active: string;
459
466
  };
460
467
  placeholders: {
461
- optionUnitPriceRuleId: string;
468
+ optionUnitPriceRule: string;
462
469
  };
463
470
  validation: {
464
- optionUnitPriceRuleIdRequired: string;
471
+ optionUnitPriceRuleRequired: string;
465
472
  minQuantityMin: string;
466
473
  };
467
474
  actions: {
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAudK,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8dK,CAAA"}
package/dist/i18n/en.js CHANGED
@@ -96,6 +96,15 @@ export const pricingUiEn = {
96
96
  empty: "No product options found.",
97
97
  missingParent: "Select a product first.",
98
98
  },
99
+ optionUnit: {
100
+ placeholder: "Select option unit...",
101
+ empty: "No option units found.",
102
+ missingParent: "Select an option first.",
103
+ },
104
+ optionUnitPriceRule: {
105
+ placeholder: "Select option unit price rule...",
106
+ empty: "No option unit price rules found.",
107
+ },
99
108
  },
100
109
  pricingCategoriesPage: {
101
110
  title: "Pricing Categories",
@@ -325,7 +334,7 @@ export const pricingUiEn = {
325
334
  locationPriceRuleDialog: {
326
335
  fields: {
327
336
  optionPriceRule: "Option price rule",
328
- optionId: "Option ID",
337
+ optionId: "Option",
329
338
  facilityId: "Facility ID (optional)",
330
339
  pickupPointId: "Pickup point ID",
331
340
  dropoffName: "Dropoff name",
@@ -338,13 +347,13 @@ export const pricingUiEn = {
338
347
  notes: "Notes",
339
348
  },
340
349
  placeholders: {
341
- optionId: "popt_…",
350
+ optionId: "Select option...",
342
351
  facilityId: "fac_…",
343
352
  pickupPointId: "ppnt_…",
344
353
  },
345
354
  validation: {
346
355
  optionPriceRuleRequired: "Option price rule is required",
347
- optionIdRequired: "Option ID is required",
356
+ optionIdRequired: "Option is required",
348
357
  pickupPointIdRequired: "Pickup point is required",
349
358
  dropoffNameRequired: "Dropoff name is required",
350
359
  },
@@ -386,7 +395,7 @@ export const pricingUiEn = {
386
395
  },
387
396
  fields: {
388
397
  optionPriceRule: "Option price rule",
389
- optionId: "Option ID",
398
+ optionId: "Option",
390
399
  startTimeId: "Start time ID",
391
400
  ruleMode: "Rule mode",
392
401
  adjustmentType: "Adjustment type",
@@ -397,13 +406,13 @@ export const pricingUiEn = {
397
406
  notes: "Notes",
398
407
  },
399
408
  placeholders: {
400
- optionId: "popt_…",
409
+ optionId: "Select option...",
401
410
  startTimeId: "pst_…",
402
411
  select: "Select...",
403
412
  },
404
413
  validation: {
405
414
  optionPriceRuleRequired: "Option price rule is required",
406
- optionIdRequired: "Option ID is required",
415
+ optionIdRequired: "Option is required",
407
416
  startTimeIdRequired: "Start time ID is required",
408
417
  },
409
418
  actions: {
@@ -417,8 +426,8 @@ export const pricingUiEn = {
417
426
  },
418
427
  fields: {
419
428
  optionPriceRule: "Option price rule",
420
- optionId: "Option ID",
421
- unitId: "Unit ID",
429
+ option: "Option",
430
+ unit: "Unit",
422
431
  pricingCategory: "Pricing category (optional)",
423
432
  pricingMode: "Pricing mode",
424
433
  sellAmount: "Sell amount",
@@ -430,14 +439,12 @@ export const pricingUiEn = {
430
439
  notes: "Notes",
431
440
  },
432
441
  placeholders: {
433
- optionId: "popt_…",
434
- unitId: "punit_…",
435
442
  pricingCategory: "Search pricing categories...",
436
443
  },
437
444
  validation: {
438
445
  optionPriceRuleRequired: "Option price rule is required",
439
- optionIdRequired: "Option ID is required",
440
- unitIdRequired: "Unit ID is required",
446
+ optionRequired: "Option is required",
447
+ unitRequired: "Unit is required",
441
448
  },
442
449
  actions: {
443
450
  create: "Add rule",
@@ -449,7 +456,7 @@ export const pricingUiEn = {
449
456
  edit: "Edit unit tier",
450
457
  },
451
458
  fields: {
452
- optionUnitPriceRuleId: "Option unit price rule ID",
459
+ optionUnitPriceRule: "Option unit price rule",
453
460
  minQuantity: "Min quantity",
454
461
  maxQuantity: "Max quantity",
455
462
  sellAmount: "Sell amount",
@@ -458,10 +465,10 @@ export const pricingUiEn = {
458
465
  active: "Active",
459
466
  },
460
467
  placeholders: {
461
- optionUnitPriceRuleId: "oupr_…",
468
+ optionUnitPriceRule: "Select option unit price rule...",
462
469
  },
463
470
  validation: {
464
- optionUnitPriceRuleIdRequired: "Option unit price rule is required",
471
+ optionUnitPriceRuleRequired: "Option unit price rule is required",
465
472
  minQuantityMin: "Min quantity must be at least 1",
466
473
  },
467
474
  actions: {
@@ -62,6 +62,15 @@ export type PricingUiMessages = {
62
62
  empty: string;
63
63
  missingParent: string;
64
64
  };
65
+ optionUnit: {
66
+ placeholder: string;
67
+ empty: string;
68
+ missingParent: string;
69
+ };
70
+ optionUnitPriceRule: {
71
+ placeholder: string;
72
+ empty: string;
73
+ };
65
74
  };
66
75
  pricingCategoriesPage: {
67
76
  title: string;
@@ -375,8 +384,8 @@ export type PricingUiMessages = {
375
384
  };
376
385
  fields: {
377
386
  optionPriceRule: string;
378
- optionId: string;
379
- unitId: string;
387
+ option: string;
388
+ unit: string;
380
389
  pricingCategory: string;
381
390
  pricingMode: string;
382
391
  sellAmount: string;
@@ -388,14 +397,12 @@ export type PricingUiMessages = {
388
397
  notes: string;
389
398
  };
390
399
  placeholders: {
391
- optionId: string;
392
- unitId: string;
393
400
  pricingCategory: string;
394
401
  };
395
402
  validation: {
396
403
  optionPriceRuleRequired: string;
397
- optionIdRequired: string;
398
- unitIdRequired: string;
404
+ optionRequired: string;
405
+ unitRequired: string;
399
406
  };
400
407
  actions: {
401
408
  create: string;
@@ -407,7 +414,7 @@ export type PricingUiMessages = {
407
414
  edit: string;
408
415
  };
409
416
  fields: {
410
- optionUnitPriceRuleId: string;
417
+ optionUnitPriceRule: string;
411
418
  minQuantity: string;
412
419
  maxQuantity: string;
413
420
  sellAmount: string;
@@ -416,10 +423,10 @@ export type PricingUiMessages = {
416
423
  active: string;
417
424
  };
418
425
  placeholders: {
419
- optionUnitPriceRuleId: string;
426
+ optionUnitPriceRule: string;
420
427
  };
421
428
  validation: {
422
- optionUnitPriceRuleIdRequired: string;
429
+ optionUnitPriceRuleRequired: string;
423
430
  minQuantityMin: string;
424
431
  };
425
432
  actions: {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,15 @@ export declare const pricingUiMessageDefinitions: {
100
100
  empty: string;
101
101
  missingParent: string;
102
102
  };
103
+ optionUnit: {
104
+ placeholder: string;
105
+ empty: string;
106
+ missingParent: string;
107
+ };
108
+ optionUnitPriceRule: {
109
+ placeholder: string;
110
+ empty: string;
111
+ };
103
112
  };
104
113
  pricingCategoriesPage: {
105
114
  title: string;
@@ -421,8 +430,8 @@ export declare const pricingUiMessageDefinitions: {
421
430
  };
422
431
  fields: {
423
432
  optionPriceRule: string;
424
- optionId: string;
425
- unitId: string;
433
+ option: string;
434
+ unit: string;
426
435
  pricingCategory: string;
427
436
  pricingMode: string;
428
437
  sellAmount: string;
@@ -434,14 +443,12 @@ export declare const pricingUiMessageDefinitions: {
434
443
  notes: string;
435
444
  };
436
445
  placeholders: {
437
- optionId: string;
438
- unitId: string;
439
446
  pricingCategory: string;
440
447
  };
441
448
  validation: {
442
449
  optionPriceRuleRequired: string;
443
- optionIdRequired: string;
444
- unitIdRequired: string;
450
+ optionRequired: string;
451
+ unitRequired: string;
445
452
  };
446
453
  actions: {
447
454
  create: string;
@@ -453,7 +460,7 @@ export declare const pricingUiMessageDefinitions: {
453
460
  edit: string;
454
461
  };
455
462
  fields: {
456
- optionUnitPriceRuleId: string;
463
+ optionUnitPriceRule: string;
457
464
  minQuantity: string;
458
465
  maxQuantity: string;
459
466
  sellAmount: string;
@@ -462,10 +469,10 @@ export declare const pricingUiMessageDefinitions: {
462
469
  active: string;
463
470
  };
464
471
  placeholders: {
465
- optionUnitPriceRuleId: string;
472
+ optionUnitPriceRule: string;
466
473
  };
467
474
  validation: {
468
- optionUnitPriceRuleIdRequired: string;
475
+ optionUnitPriceRuleRequired: string;
469
476
  minQuantityMin: string;
470
477
  };
471
478
  actions: {
@@ -571,6 +578,15 @@ export declare const pricingUiMessageDefinitions: {
571
578
  empty: string;
572
579
  missingParent: string;
573
580
  };
581
+ optionUnit: {
582
+ placeholder: string;
583
+ empty: string;
584
+ missingParent: string;
585
+ };
586
+ optionUnitPriceRule: {
587
+ placeholder: string;
588
+ empty: string;
589
+ };
574
590
  };
575
591
  pricingCategoriesPage: {
576
592
  title: string;
@@ -892,8 +908,8 @@ export declare const pricingUiMessageDefinitions: {
892
908
  };
893
909
  fields: {
894
910
  optionPriceRule: string;
895
- optionId: string;
896
- unitId: string;
911
+ option: string;
912
+ unit: string;
897
913
  pricingCategory: string;
898
914
  pricingMode: string;
899
915
  sellAmount: string;
@@ -905,14 +921,12 @@ export declare const pricingUiMessageDefinitions: {
905
921
  notes: string;
906
922
  };
907
923
  placeholders: {
908
- optionId: string;
909
- unitId: string;
910
924
  pricingCategory: string;
911
925
  };
912
926
  validation: {
913
927
  optionPriceRuleRequired: string;
914
- optionIdRequired: string;
915
- unitIdRequired: string;
928
+ optionRequired: string;
929
+ unitRequired: string;
916
930
  };
917
931
  actions: {
918
932
  create: string;
@@ -924,7 +938,7 @@ export declare const pricingUiMessageDefinitions: {
924
938
  edit: string;
925
939
  };
926
940
  fields: {
927
- optionUnitPriceRuleId: string;
941
+ optionUnitPriceRule: string;
928
942
  minQuantity: string;
929
943
  maxQuantity: string;
930
944
  sellAmount: string;
@@ -933,10 +947,10 @@ export declare const pricingUiMessageDefinitions: {
933
947
  active: string;
934
948
  };
935
949
  placeholders: {
936
- optionUnitPriceRuleId: string;
950
+ optionUnitPriceRule: string;
937
951
  };
938
952
  validation: {
939
- optionUnitPriceRuleIdRequired: string;
953
+ optionUnitPriceRuleRequired: string;
940
954
  minQuantityMin: string;
941
955
  };
942
956
  actions: {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AASjF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,qBAOA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAStC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,2CAWA;AAED,eAAO,MAAM,gBAAgB,2CAA2B,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAEhE,wBAAgB,yBAAyB,wCAExC;AAED,wBAAgB,6BAA6B,sBAE5C"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AASjF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,qBAOA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAStC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,2CAWA;AAED,eAAO,MAAM,gBAAgB,2CAA2B,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAEhE,wBAAgB,yBAAyB,wCAExC;AAED,wBAAgB,6BAA6B,sBAE5C"}
package/dist/i18n/ro.d.ts CHANGED
@@ -96,6 +96,15 @@ export declare const pricingUiRo: {
96
96
  empty: string;
97
97
  missingParent: string;
98
98
  };
99
+ optionUnit: {
100
+ placeholder: string;
101
+ empty: string;
102
+ missingParent: string;
103
+ };
104
+ optionUnitPriceRule: {
105
+ placeholder: string;
106
+ empty: string;
107
+ };
99
108
  };
100
109
  pricingCategoriesPage: {
101
110
  title: string;
@@ -417,8 +426,8 @@ export declare const pricingUiRo: {
417
426
  };
418
427
  fields: {
419
428
  optionPriceRule: string;
420
- optionId: string;
421
- unitId: string;
429
+ option: string;
430
+ unit: string;
422
431
  pricingCategory: string;
423
432
  pricingMode: string;
424
433
  sellAmount: string;
@@ -430,14 +439,12 @@ export declare const pricingUiRo: {
430
439
  notes: string;
431
440
  };
432
441
  placeholders: {
433
- optionId: string;
434
- unitId: string;
435
442
  pricingCategory: string;
436
443
  };
437
444
  validation: {
438
445
  optionPriceRuleRequired: string;
439
- optionIdRequired: string;
440
- unitIdRequired: string;
446
+ optionRequired: string;
447
+ unitRequired: string;
441
448
  };
442
449
  actions: {
443
450
  create: string;
@@ -449,7 +456,7 @@ export declare const pricingUiRo: {
449
456
  edit: string;
450
457
  };
451
458
  fields: {
452
- optionUnitPriceRuleId: string;
459
+ optionUnitPriceRule: string;
453
460
  minQuantity: string;
454
461
  maxQuantity: string;
455
462
  sellAmount: string;
@@ -458,10 +465,10 @@ export declare const pricingUiRo: {
458
465
  active: string;
459
466
  };
460
467
  placeholders: {
461
- optionUnitPriceRuleId: string;
468
+ optionUnitPriceRule: string;
462
469
  };
463
470
  validation: {
464
- optionUnitPriceRuleIdRequired: string;
471
+ optionUnitPriceRuleRequired: string;
465
472
  minQuantityMin: string;
466
473
  };
467
474
  actions: {
@@ -1 +1 @@
1
- {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAydK,CAAA"}
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgeK,CAAA"}
package/dist/i18n/ro.js CHANGED
@@ -96,6 +96,15 @@ export const pricingUiRo = {
96
96
  empty: "Nu au fost gasite optiuni de produs.",
97
97
  missingParent: "Selecteaza mai intai un produs.",
98
98
  },
99
+ optionUnit: {
100
+ placeholder: "Selecteaza unitatea optiunii...",
101
+ empty: "Nu au fost gasite unitati de optiune.",
102
+ missingParent: "Selecteaza mai intai o optiune.",
103
+ },
104
+ optionUnitPriceRule: {
105
+ placeholder: "Selecteaza regula de pret pe unitate...",
106
+ empty: "Nu au fost gasite reguli de pret pe unitate.",
107
+ },
99
108
  },
100
109
  pricingCategoriesPage: {
101
110
  title: "Categorii de tarifare",
@@ -325,7 +334,7 @@ export const pricingUiRo = {
325
334
  locationPriceRuleDialog: {
326
335
  fields: {
327
336
  optionPriceRule: "Regula de pret pentru optiune",
328
- optionId: "ID optiune",
337
+ optionId: "Optiune",
329
338
  facilityId: "ID facilitate (optional)",
330
339
  pickupPointId: "ID punct preluare",
331
340
  dropoffName: "Nume dropoff",
@@ -338,13 +347,13 @@ export const pricingUiRo = {
338
347
  notes: "Note",
339
348
  },
340
349
  placeholders: {
341
- optionId: "popt_…",
350
+ optionId: "Selecteaza optiunea...",
342
351
  facilityId: "fac_…",
343
352
  pickupPointId: "ppnt_…",
344
353
  },
345
354
  validation: {
346
355
  optionPriceRuleRequired: "Regula de pret pentru optiune este obligatorie",
347
- optionIdRequired: "ID-ul optiunii este obligatoriu",
356
+ optionIdRequired: "Optiunea este obligatorie",
348
357
  pickupPointIdRequired: "Punctul de preluare este obligatoriu",
349
358
  dropoffNameRequired: "Numele dropoff este obligatoriu",
350
359
  },
@@ -386,7 +395,7 @@ export const pricingUiRo = {
386
395
  },
387
396
  fields: {
388
397
  optionPriceRule: "Regula de pret pentru optiune",
389
- optionId: "ID optiune",
398
+ optionId: "Optiune",
390
399
  startTimeId: "ID ora start",
391
400
  ruleMode: "Mod regula",
392
401
  adjustmentType: "Tip ajustare",
@@ -397,13 +406,13 @@ export const pricingUiRo = {
397
406
  notes: "Note",
398
407
  },
399
408
  placeholders: {
400
- optionId: "popt_…",
409
+ optionId: "Selecteaza optiunea...",
401
410
  startTimeId: "pst_…",
402
411
  select: "Selecteaza...",
403
412
  },
404
413
  validation: {
405
414
  optionPriceRuleRequired: "Regula de pret pentru optiune este obligatorie",
406
- optionIdRequired: "ID-ul optiunii este obligatoriu",
415
+ optionIdRequired: "Optiunea este obligatorie",
407
416
  startTimeIdRequired: "ID-ul orei de start este obligatoriu",
408
417
  },
409
418
  actions: {
@@ -417,8 +426,8 @@ export const pricingUiRo = {
417
426
  },
418
427
  fields: {
419
428
  optionPriceRule: "Regula de pret pentru optiune",
420
- optionId: "ID optiune",
421
- unitId: "ID unitate",
429
+ option: "Optiune",
430
+ unit: "Unitate",
422
431
  pricingCategory: "Categorie de pret (optional)",
423
432
  pricingMode: "Mod tarifare",
424
433
  sellAmount: "Pret vanzare",
@@ -430,14 +439,12 @@ export const pricingUiRo = {
430
439
  notes: "Note",
431
440
  },
432
441
  placeholders: {
433
- optionId: "popt_…",
434
- unitId: "punit_…",
435
442
  pricingCategory: "Cauta categorii de pret...",
436
443
  },
437
444
  validation: {
438
445
  optionPriceRuleRequired: "Regula de pret pentru optiune este obligatorie",
439
- optionIdRequired: "ID-ul optiunii este obligatoriu",
440
- unitIdRequired: "ID-ul unitatii este obligatoriu",
446
+ optionRequired: "Optiunea este obligatorie",
447
+ unitRequired: "Unitatea este obligatorie",
441
448
  },
442
449
  actions: {
443
450
  create: "Adauga regula",
@@ -449,7 +456,7 @@ export const pricingUiRo = {
449
456
  edit: "Editeaza tier-ul de unitate",
450
457
  },
451
458
  fields: {
452
- optionUnitPriceRuleId: "ID regula de pret pe unitate",
459
+ optionUnitPriceRule: "Regula de pret pe unitate",
453
460
  minQuantity: "Cantitate minima",
454
461
  maxQuantity: "Cantitate maxima",
455
462
  sellAmount: "Pret vanzare",
@@ -458,10 +465,10 @@ export const pricingUiRo = {
458
465
  active: "Activ",
459
466
  },
460
467
  placeholders: {
461
- optionUnitPriceRuleId: "oupr_…",
468
+ optionUnitPriceRule: "Selecteaza regula de pret pe unitate...",
462
469
  },
463
470
  validation: {
464
- optionUnitPriceRuleIdRequired: "Regula de pret pe unitate este obligatorie",
471
+ optionUnitPriceRuleRequired: "Regula de pret pe unitate este obligatorie",
465
472
  minQuantityMin: "Cantitatea minima trebuie sa fie cel putin 1",
466
473
  },
467
474
  actions: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/pricing-ui",
3
- "version": "0.35.0",
3
+ "version": "0.37.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,13 +46,13 @@
46
46
  "react-dom": "^19.0.0",
47
47
  "react-hook-form": "^7.60.0",
48
48
  "zod": "^4.3.6",
49
- "@voyantjs/pricing-react": "0.35.0",
50
- "@voyantjs/products-react": "0.35.0",
51
- "@voyantjs/ui": "0.35.0",
52
- "@voyantjs/utils": "0.35.0"
49
+ "@voyantjs/pricing-react": "0.37.0",
50
+ "@voyantjs/products-react": "0.37.0",
51
+ "@voyantjs/ui": "0.37.0",
52
+ "@voyantjs/utils": "0.37.0"
53
53
  },
54
54
  "dependencies": {
55
- "@voyantjs/i18n": "0.35.0"
55
+ "@voyantjs/i18n": "0.37.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@tanstack/react-query": "^5.96.2",
@@ -66,12 +66,12 @@
66
66
  "typescript": "^6.0.2",
67
67
  "vitest": "^4.1.2",
68
68
  "zod": "^4.3.6",
69
- "@voyantjs/i18n": "0.35.0",
70
- "@voyantjs/pricing-react": "0.35.0",
71
- "@voyantjs/products-react": "0.35.0",
69
+ "@voyantjs/i18n": "0.37.0",
70
+ "@voyantjs/pricing-react": "0.37.0",
71
+ "@voyantjs/products-react": "0.37.0",
72
72
  "@voyantjs/voyant-typescript-config": "0.1.0",
73
- "@voyantjs/ui": "0.35.0",
74
- "@voyantjs/utils": "0.35.0"
73
+ "@voyantjs/ui": "0.37.0",
74
+ "@voyantjs/utils": "0.37.0"
75
75
  },
76
76
  "files": [
77
77
  "dist",