@appcorp/stellar-solutions-invoice-module 0.1.57 → 0.1.60

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 (34) hide show
  1. package/base-modules/invoice/actions.d.ts +6 -6
  2. package/base-modules/invoice/context.js +21 -4
  3. package/base-modules/invoice/pricing-form-section.js +51 -28
  4. package/base-modules/invoice/types.d.ts +1 -0
  5. package/base-modules/payment/actions.d.ts +196 -0
  6. package/base-modules/payment/actions.js +49 -0
  7. package/base-modules/payment/constants.d.ts +101 -0
  8. package/base-modules/payment/constants.js +165 -0
  9. package/base-modules/payment/context.d.ts +56 -0
  10. package/base-modules/payment/context.js +421 -0
  11. package/base-modules/payment/drawer.d.ts +6 -0
  12. package/base-modules/payment/drawer.js +39 -0
  13. package/base-modules/payment/form.d.ts +18 -0
  14. package/base-modules/payment/form.js +90 -0
  15. package/base-modules/payment/index.d.ts +0 -0
  16. package/base-modules/payment/index.js +13 -0
  17. package/base-modules/payment/payment.d.ts +8 -0
  18. package/base-modules/payment/payment.js +39 -0
  19. package/base-modules/payment/reducer.d.ts +29 -0
  20. package/base-modules/payment/reducer.js +211 -0
  21. package/base-modules/payment/types.d.ts +82 -0
  22. package/base-modules/payment/types.js +19 -0
  23. package/base-modules/payment/validate.d.ts +20 -0
  24. package/base-modules/payment/validate.js +23 -0
  25. package/base-modules/quote/actions.d.ts +1 -1
  26. package/base-modules/quote/constants.js +1 -1
  27. package/base-modules/quote/context.js +27 -2
  28. package/base-modules/quote/pricing-form-section.js +51 -28
  29. package/base-modules/quote/types.d.ts +1 -0
  30. package/i18n/navigation.d.ts +342 -0
  31. package/i18n/navigation.js +9 -0
  32. package/i18n/routing.d.ts +18 -0
  33. package/i18n/routing.js +9 -0
  34. package/package.json +5 -5
@@ -638,6 +638,25 @@ var useQuoteState = function () {
638
638
  });
639
639
  return;
640
640
  }
641
+ if (key === "taxRate") {
642
+ dispatch({
643
+ type: actions_1.QUOTE_ACTION_TYPES.SET_INPUT_FIELD,
644
+ payload: { key: key, value: Number(value) },
645
+ });
646
+ return;
647
+ }
648
+ if (key === "discountUnit") {
649
+ dispatch({
650
+ type: actions_1.QUOTE_ACTION_TYPES.SET_INPUT_FIELD,
651
+ payload: { key: key, value: value },
652
+ });
653
+ return;
654
+ }
655
+ // Dispatch the input field change
656
+ dispatch({
657
+ type: actions_1.QUOTE_ACTION_TYPES.SET_INPUT_FIELD,
658
+ payload: { key: key, value: value },
659
+ });
641
660
  dispatch({
642
661
  type: actions_1.QUOTE_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
643
662
  payload: { disableSaveButton: false },
@@ -745,6 +764,12 @@ var useQuoteState = function () {
745
764
  payload: { searchQuery: "" },
746
765
  });
747
766
  };
767
+ var handleTaxSearch = function (searchQuery) {
768
+ dispatch({
769
+ type: actions_1.QUOTE_ACTION_TYPES.SET_INPUT_FIELD,
770
+ payload: { key: "taxQuery", value: searchQuery },
771
+ });
772
+ };
748
773
  var closeDrawer = function () {
749
774
  dispatch({
750
775
  type: actions_1.QUOTE_ACTION_TYPES.SET_DRAWER,
@@ -803,9 +828,9 @@ var useQuoteState = function () {
803
828
  order: 2,
804
829
  },
805
830
  ];
806
- return __assign(__assign({}, state), { byIdError: byIdError, byIdLoading: byIdLoading, clearSearch: clearSearch, closeDrawer: closeDrawer, deleteError: deleteError, deleteLoading: deleteLoading, dispatch: dispatch, handleAddItemProduct: handleAddItemProduct, handleAddItemService: handleAddItemService, handleChange: handleChange, handleDeleteProductRow: handleDeleteProductRow, handleDeleteServiceRow: handleDeleteServiceRow, handleItemChangeProducts: handleItemChangeProducts, handleItemChangeServices: handleItemChangeServices, handleNextClick: handleNextClick, handlePageLimit: handlePageLimit, handlePreviousClick: handlePreviousClick, handleSubmit: handleSubmit, headerActions: headerActions, listError: listError, listFetchNow: listFetchNow, listLoading: listLoading, rowActions: rowActions, searchOnChange: searchOnChange, updateError: updateError, updateLoading: updateLoading });
831
+ return __assign(__assign({}, state), { byIdError: byIdError, byIdLoading: byIdLoading, clearSearch: clearSearch, closeDrawer: closeDrawer, deleteError: deleteError, deleteLoading: deleteLoading, dispatch: dispatch, handleAddItemProduct: handleAddItemProduct, handleAddItemService: handleAddItemService, handleChange: handleChange, handleDeleteProductRow: handleDeleteProductRow, handleDeleteServiceRow: handleDeleteServiceRow, handleItemChangeProducts: handleItemChangeProducts, handleItemChangeServices: handleItemChangeServices, handleNextClick: handleNextClick, handlePageLimit: handlePageLimit, handlePreviousClick: handlePreviousClick, handleSubmit: handleSubmit, handleTaxSearch: handleTaxSearch, headerActions: headerActions, listError: listError, listFetchNow: listFetchNow, listLoading: listLoading, rowActions: rowActions, searchOnChange: searchOnChange, updateError: updateError, updateLoading: updateLoading });
807
832
  };
808
- exports.QuoteStateContext = (0, react_1.createContext)(__assign(__assign({}, reducer_1.initialQuoteState), { byIdError: undefined, byIdLoading: false, clearSearch: function () { return void 0; }, closeDrawer: function () { return void 0; }, deleteError: undefined, deleteLoading: false, dispatch: function () { return void 0; }, handleAddItemProduct: function () { return void 0; }, handleAddItemService: function () { return void 0; }, handleChange: function () { return void 0; }, handleDeleteProductRow: function () { return void 0; }, handleDeleteServiceRow: function () { return void 0; }, handleItemChangeProducts: function () { return void 0; }, handleItemChangeServices: function () { return void 0; }, handleNextClick: function () { return void 0; }, handlePageLimit: function () { return void 0; }, handlePreviousClick: function () { return void 0; }, handleSubmit: function () { return void 0; }, headerActions: [], listError: undefined, listFetchNow: function () { return void 0; }, listLoading: false, rowActions: [], searchOnChange: function () { return void 0; }, updateError: undefined, updateLoading: false }));
833
+ exports.QuoteStateContext = (0, react_1.createContext)(__assign(__assign({}, reducer_1.initialQuoteState), { byIdError: undefined, byIdLoading: false, clearSearch: function () { return void 0; }, closeDrawer: function () { return void 0; }, deleteError: undefined, deleteLoading: false, dispatch: function () { return void 0; }, handleAddItemProduct: function () { return void 0; }, handleAddItemService: function () { return void 0; }, handleChange: function () { return void 0; }, handleDeleteProductRow: function () { return void 0; }, handleDeleteServiceRow: function () { return void 0; }, handleItemChangeProducts: function () { return void 0; }, handleItemChangeServices: function () { return void 0; }, handleNextClick: function () { return void 0; }, handlePageLimit: function () { return void 0; }, handlePreviousClick: function () { return void 0; }, handleSubmit: function () { return void 0; }, handleTaxSearch: function () { return void 0; }, headerActions: [], listError: undefined, listFetchNow: function () { return void 0; }, listLoading: false, rowActions: [], searchOnChange: function () { return void 0; }, updateError: undefined, updateLoading: false }));
809
834
  var QuoteStateContextProvider = function (_a) {
810
835
  var children = _a.children;
811
836
  var state = useQuoteState();
@@ -5,41 +5,58 @@
5
5
  * Totals calculation section for invoice pricing including tax and discount.
6
6
  * Uses Shadcn UI components with RTL support and i18n.
7
7
  */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
11
41
  Object.defineProperty(exports, "__esModule", { value: true });
12
42
  exports.PricingSection = void 0;
13
- var react_1 = __importDefault(require("react"));
43
+ var react_1 = __importStar(require("react"));
14
44
  var next_intl_1 = require("next-intl");
15
45
  var combobox_1 = require("@appcorp/shadcn/components/combobox");
16
46
  var input_1 = require("@appcorp/shadcn/components/input");
17
47
  var label_1 = require("@appcorp/shadcn/components/label");
18
48
  var button_1 = require("@appcorp/shadcn/components/button");
19
- var context_1 = require("./context");
49
+ var context_1 = require("@appcorp/stellar-solutions-modules/global-modules/tax/context");
50
+ var context_2 = require("./context");
20
51
  var types_1 = require("./types");
21
52
  var PricingSection = function () {
22
53
  var t = (0, next_intl_1.useTranslations)("invoicePage");
23
- var _a = (0, context_1.useQuoteStateContext)(), afterDiscount = _a.afterDiscount, discount = _a.discount, discountUnit = _a.discountUnit, errors = _a.errors, handleChange = _a.handleChange, subTotal = _a.subTotal, tax = _a.tax, taxes = _a.taxes, total = _a.total;
24
- var handleTaxChange = function (selectedTaxId) {
25
- var selectedTax = taxes === null || taxes === void 0 ? void 0 : taxes.find(function (t) { return t.id === selectedTaxId; });
26
- if (selectedTax) {
27
- handleChange("taxRate", selectedTax.taxRate);
28
- }
29
- };
30
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
- var handleTaxSearch = function (_searchQuery) {
32
- // Tax search functionality placeholder
33
- };
34
- var handleDiscountUnitChange = function (unit) {
35
- handleChange("discountUnit", unit);
36
- };
37
- // Map taxes to have consistent structure for CompanyCombobox
38
- var taxOptions = (taxes || []).map(function (tax) { return ({
39
- id: tax.id,
40
- name: "".concat(tax.taxName, " (").concat(tax.taxRate, "%)"),
41
- }); });
42
- var currentTax = taxes === null || taxes === void 0 ? void 0 : taxes.find(function (t) { return String(t.taxRate) === String(tax); });
54
+ var _a = (0, context_1.useTaxStateContext)(), taxesFromTaxContext = _a.taxes, taxesLoading = _a.listLoading;
55
+ var _b = (0, context_2.useQuoteStateContext)(), afterDiscount = _b.afterDiscount, discount = _b.discount, discountUnit = _b.discountUnit, errors = _b.errors, handleChange = _b.handleChange, handleTaxSearch = _b.handleTaxSearch, subTotal = _b.subTotal, tax = _b.tax, taxRate = _b.taxRate, total = _b.total;
56
+ // Find the current tax based on taxRate value
57
+ var currentTax = (0, react_1.useMemo)(function () {
58
+ return taxesFromTaxContext === null || taxesFromTaxContext === void 0 ? void 0 : taxesFromTaxContext.find(function (t) { return String(t.taxRate) === String(taxRate); });
59
+ }, [taxesFromTaxContext, taxRate]);
43
60
  return (react_1.default.createElement("div", { className: "flex flex-col gap-6" },
44
61
  react_1.default.createElement("h3", { className: "text-lg font-semibold border-b pb-2" }, t("pricingSectionTitle")),
45
62
  react_1.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" },
@@ -53,12 +70,12 @@ var PricingSection = function () {
53
70
  react_1.default.createElement("p", { className: "text-sm text-muted-foreground" }, t("discountUnitDescription")),
54
71
  react_1.default.createElement("div", { className: "flex gap-2" },
55
72
  react_1.default.createElement(button_1.Button, { onClick: function () {
56
- return handleDiscountUnitChange(types_1.DISCOUNT_UNIT.FIXED_VALUE);
73
+ return handleChange("discountUnit", types_1.DISCOUNT_UNIT.FIXED_VALUE);
57
74
  }, size: "sm", type: "button", variant: discountUnit === types_1.DISCOUNT_UNIT.FIXED_VALUE
58
75
  ? "default"
59
76
  : "outline" }, t("discountUnitFixedValue")),
60
77
  react_1.default.createElement(button_1.Button, { onClick: function () {
61
- return handleDiscountUnitChange(types_1.DISCOUNT_UNIT.PERCENTAGE_VALUE);
78
+ return handleChange("discountUnit", types_1.DISCOUNT_UNIT.PERCENTAGE_VALUE);
62
79
  }, size: "sm", type: "button", variant: discountUnit === types_1.DISCOUNT_UNIT.PERCENTAGE_VALUE
63
80
  ? "default"
64
81
  : "outline" }, t("discountUnitPercentageValue")))),
@@ -67,7 +84,13 @@ var PricingSection = function () {
67
84
  react_1.default.createElement("div", { className: "space-y-2" },
68
85
  react_1.default.createElement(input_1.Input, { id: "afterDiscount", label: t("formLabelAfterDiscount"), onChange: function (e) { return handleChange("afterDiscount", e.target.value); }, placeholder: "0.00", readOnly: true, type: "text", value: afterDiscount || "0" })),
69
86
  react_1.default.createElement("div", { className: "space-y-2" },
70
- react_1.default.createElement(combobox_1.CompanyCombobox, { companies: taxOptions, id: "taxRate", label: t("formLabelTax"), onSearchChange: handleTaxSearch, onValueChange: handleTaxChange, placeholder: t("formPlaceholderTax"), value: (currentTax === null || currentTax === void 0 ? void 0 : currentTax.id) || "" })),
87
+ react_1.default.createElement(combobox_1.Combobox, { id: "taxRate", label: t("formLabelTax"), value: (currentTax === null || currentTax === void 0 ? void 0 : currentTax.taxRate) || "", onValueChange: function (v) { return handleChange("taxRate", v); }, onSearchChange: handleTaxSearch, loading: taxesLoading, options: (taxesFromTaxContext || [])
88
+ .slice()
89
+ .sort(function (a, b) { return a.taxName.localeCompare(b.taxName); })
90
+ .map(function (tax) { return ({
91
+ label: "".concat(tax.taxName, " (").concat(tax.taxRate, "%)"),
92
+ value: tax.taxRate.toString(),
93
+ }); }), placeholder: t("formPlaceholderTax"), searchPlaceholder: "Search taxes...", info: t("formInfoTax"), error: errors.taxRate, required: true })),
71
94
  react_1.default.createElement("div", { className: "space-y-2" },
72
95
  react_1.default.createElement(input_1.Input, { id: "afterTax", label: t("formLabelAfterTax"), placeholder: "0.00", readOnly: true, type: "text", value: isNaN(Number(tax)) ? "0" : tax || "0" })),
73
96
  react_1.default.createElement("div", { className: "space-y-2" },
@@ -34,6 +34,7 @@ export interface QuoteContextType {
34
34
  handlePageLimit: (node: string, value: object) => void;
35
35
  handlePreviousClick: () => void;
36
36
  handleSubmit: () => void;
37
+ handleTaxSearch: (searchQuery: string) => void;
37
38
  headerActions: HeaderAction[];
38
39
  listError?: Error;
39
40
  listFetchNow: () => void;
@@ -0,0 +1,342 @@
1
+ export declare const locales: readonly ["en", "ur"];
2
+ export declare const localePrefix = "as-needed";
3
+ export declare const Link: import("react").ForwardRefExoticComponent<Omit<{
4
+ slot?: string | undefined | undefined;
5
+ style?: import("react").CSSProperties | undefined;
6
+ title?: string | undefined | undefined;
7
+ locale?: import("use-intl").Locale | undefined;
8
+ onError?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
9
+ children?: import("react").ReactNode;
10
+ ref?: import("react").Ref<HTMLAnchorElement> | undefined;
11
+ replace?: boolean | undefined;
12
+ prefix?: string | undefined | undefined;
13
+ key?: import("react").Key | null | undefined;
14
+ as?: (string | import("url").UrlObject) | undefined;
15
+ scroll?: boolean | undefined;
16
+ shallow?: boolean | undefined;
17
+ passHref?: boolean | undefined;
18
+ prefetch?: boolean | "auto" | null | "unstable_forceStale" | undefined;
19
+ legacyBehavior?: boolean | undefined;
20
+ onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
21
+ onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
22
+ onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
23
+ onNavigate?: ((event: {
24
+ preventDefault: () => void;
25
+ }) => void) | undefined;
26
+ download?: any;
27
+ hrefLang?: string | undefined | undefined;
28
+ media?: string | undefined | undefined;
29
+ ping?: string | undefined | undefined;
30
+ target?: import("react").HTMLAttributeAnchorTarget | undefined;
31
+ type?: string | undefined | undefined;
32
+ referrerPolicy?: import("react").HTMLAttributeReferrerPolicy | undefined;
33
+ defaultChecked?: boolean | undefined | undefined;
34
+ defaultValue?: string | number | readonly string[] | undefined;
35
+ suppressContentEditableWarning?: boolean | undefined | undefined;
36
+ suppressHydrationWarning?: boolean | undefined | undefined;
37
+ accessKey?: string | undefined | undefined;
38
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
39
+ autoFocus?: boolean | undefined | undefined;
40
+ className?: string | undefined | undefined;
41
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
42
+ contextMenu?: string | undefined | undefined;
43
+ dir?: string | undefined | undefined;
44
+ draggable?: (boolean | "true" | "false") | undefined;
45
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
46
+ hidden?: boolean | undefined | undefined;
47
+ id?: string | undefined | undefined;
48
+ lang?: string | undefined | undefined;
49
+ nonce?: string | undefined | undefined;
50
+ spellCheck?: (boolean | "true" | "false") | undefined;
51
+ tabIndex?: number | undefined | undefined;
52
+ translate?: "yes" | "no" | undefined | undefined;
53
+ radioGroup?: string | undefined | undefined;
54
+ role?: import("react").AriaRole | undefined;
55
+ about?: string | undefined | undefined;
56
+ content?: string | undefined | undefined;
57
+ datatype?: string | undefined | undefined;
58
+ inlist?: any;
59
+ property?: string | undefined | undefined;
60
+ rel?: string | undefined | undefined;
61
+ resource?: string | undefined | undefined;
62
+ rev?: string | undefined | undefined;
63
+ typeof?: string | undefined | undefined;
64
+ vocab?: string | undefined | undefined;
65
+ autoCorrect?: string | undefined | undefined;
66
+ autoSave?: string | undefined | undefined;
67
+ color?: string | undefined | undefined;
68
+ itemProp?: string | undefined | undefined;
69
+ itemScope?: boolean | undefined | undefined;
70
+ itemType?: string | undefined | undefined;
71
+ itemID?: string | undefined | undefined;
72
+ itemRef?: string | undefined | undefined;
73
+ results?: number | undefined | undefined;
74
+ security?: string | undefined | undefined;
75
+ unselectable?: "on" | "off" | undefined | undefined;
76
+ popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
77
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
78
+ popoverTarget?: string | undefined | undefined;
79
+ inert?: boolean | undefined | undefined;
80
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
81
+ is?: string | undefined | undefined;
82
+ exportparts?: string | undefined | undefined;
83
+ part?: string | undefined | undefined;
84
+ tw?: string | undefined;
85
+ "aria-activedescendant"?: string | undefined | undefined;
86
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
87
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
88
+ "aria-braillelabel"?: string | undefined | undefined;
89
+ "aria-brailleroledescription"?: string | undefined | undefined;
90
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
91
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
92
+ "aria-colcount"?: number | undefined | undefined;
93
+ "aria-colindex"?: number | undefined | undefined;
94
+ "aria-colindextext"?: string | undefined | undefined;
95
+ "aria-colspan"?: number | undefined | undefined;
96
+ "aria-controls"?: string | undefined | undefined;
97
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
98
+ "aria-describedby"?: string | undefined | undefined;
99
+ "aria-description"?: string | undefined | undefined;
100
+ "aria-details"?: string | undefined | undefined;
101
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
102
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
103
+ "aria-errormessage"?: string | undefined | undefined;
104
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
105
+ "aria-flowto"?: string | undefined | undefined;
106
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
107
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
108
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
109
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
110
+ "aria-keyshortcuts"?: string | undefined | undefined;
111
+ "aria-label"?: string | undefined | undefined;
112
+ "aria-labelledby"?: string | undefined | undefined;
113
+ "aria-level"?: number | undefined | undefined;
114
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
115
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
116
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
117
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
118
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
119
+ "aria-owns"?: string | undefined | undefined;
120
+ "aria-placeholder"?: string | undefined | undefined;
121
+ "aria-posinset"?: number | undefined | undefined;
122
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
123
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
124
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
125
+ "aria-required"?: (boolean | "true" | "false") | undefined;
126
+ "aria-roledescription"?: string | undefined | undefined;
127
+ "aria-rowcount"?: number | undefined | undefined;
128
+ "aria-rowindex"?: number | undefined | undefined;
129
+ "aria-rowindextext"?: string | undefined | undefined;
130
+ "aria-rowspan"?: number | undefined | undefined;
131
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
132
+ "aria-setsize"?: number | undefined | undefined;
133
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
134
+ "aria-valuemax"?: number | undefined | undefined;
135
+ "aria-valuemin"?: number | undefined | undefined;
136
+ "aria-valuenow"?: number | undefined | undefined;
137
+ "aria-valuetext"?: string | undefined | undefined;
138
+ dangerouslySetInnerHTML?: {
139
+ __html: string | TrustedHTML;
140
+ } | undefined | undefined;
141
+ onCopy?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
142
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
143
+ onCut?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
144
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
145
+ onPaste?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
146
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
147
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
148
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
149
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
150
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
151
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
152
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
153
+ onFocus?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
154
+ onFocusCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
155
+ onBlur?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
156
+ onBlurCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
157
+ onChange?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
158
+ onChangeCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
159
+ onBeforeInput?: import("react").InputEventHandler<HTMLAnchorElement> | undefined;
160
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
161
+ onInput?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
162
+ onInputCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
163
+ onReset?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
164
+ onResetCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
165
+ onSubmit?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
166
+ onSubmitCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
167
+ onInvalid?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
168
+ onInvalidCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
169
+ onLoad?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
170
+ onLoadCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
171
+ onErrorCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
172
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
173
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
174
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
175
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
176
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
177
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
178
+ onAbort?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
179
+ onAbortCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
180
+ onCanPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
181
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
182
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
183
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
184
+ onDurationChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
185
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
186
+ onEmptied?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
187
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
188
+ onEncrypted?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
189
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
190
+ onEnded?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
191
+ onEndedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
192
+ onLoadedData?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
193
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
194
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
195
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
196
+ onLoadStart?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
197
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
198
+ onPause?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
199
+ onPauseCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
200
+ onPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
201
+ onPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
202
+ onPlaying?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
203
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
204
+ onProgress?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
205
+ onProgressCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
206
+ onRateChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
207
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
208
+ onSeeked?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
209
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
210
+ onSeeking?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
211
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
212
+ onStalled?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
213
+ onStalledCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
214
+ onSuspend?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
215
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
216
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
217
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
218
+ onVolumeChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
219
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
220
+ onWaiting?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
221
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
222
+ onAuxClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
223
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
224
+ onClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
225
+ onContextMenu?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
226
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
227
+ onDoubleClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
228
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
229
+ onDrag?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
230
+ onDragCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
231
+ onDragEnd?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
232
+ onDragEndCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
233
+ onDragEnter?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
234
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
235
+ onDragExit?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
236
+ onDragExitCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
237
+ onDragLeave?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
238
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
239
+ onDragOver?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
240
+ onDragOverCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
241
+ onDragStart?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
242
+ onDragStartCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
243
+ onDrop?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
244
+ onDropCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
245
+ onMouseDown?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
246
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
247
+ onMouseLeave?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
248
+ onMouseMove?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
249
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
250
+ onMouseOut?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
251
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
252
+ onMouseOver?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
253
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
254
+ onMouseUp?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
255
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
256
+ onSelect?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
257
+ onSelectCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
258
+ onTouchCancel?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
259
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
260
+ onTouchEnd?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
261
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
262
+ onTouchMove?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
263
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
264
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
265
+ onPointerDown?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
266
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
267
+ onPointerMove?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
268
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
269
+ onPointerUp?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
270
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
271
+ onPointerCancel?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
272
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
273
+ onPointerEnter?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
274
+ onPointerLeave?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
275
+ onPointerOver?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
276
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
277
+ onPointerOut?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
278
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
279
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
280
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
281
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
282
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
283
+ onScroll?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
284
+ onScrollCapture?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
285
+ onScrollEnd?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
286
+ onScrollEndCapture?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
287
+ onWheel?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
288
+ onWheelCapture?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
289
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
290
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
291
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
292
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
293
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
294
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
295
+ onToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
296
+ onBeforeToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
297
+ onTransitionCancel?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
298
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
299
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
300
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
301
+ onTransitionRun?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
302
+ onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
303
+ onTransitionStart?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
304
+ onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
305
+ href: string | import("url").UrlObject;
306
+ }, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>, redirect: (args: {
307
+ href: string | {
308
+ pathname: string;
309
+ query?: import("next-intl/navigation").QueryParams;
310
+ };
311
+ locale: import("use-intl").Locale;
312
+ forcePrefix?: boolean;
313
+ }, type?: import("next/navigation").RedirectType | undefined) => never, usePathname: () => string, useRouter: () => {
314
+ push: (href: string | {
315
+ pathname: string;
316
+ query?: import("next-intl/navigation").QueryParams;
317
+ }, options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions> & {
318
+ locale?: import("use-intl").Locale;
319
+ }) | undefined) => void;
320
+ replace: (href: string | {
321
+ pathname: string;
322
+ query?: import("next-intl/navigation").QueryParams;
323
+ }, options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions> & {
324
+ locale?: import("use-intl").Locale;
325
+ }) | undefined) => void;
326
+ prefetch: (href: string | {
327
+ pathname: string;
328
+ query?: import("next-intl/navigation").QueryParams;
329
+ }, options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").PrefetchOptions> & {
330
+ locale?: import("use-intl").Locale;
331
+ }) | undefined) => void;
332
+ back(): void;
333
+ forward(): void;
334
+ refresh(): void;
335
+ }, getPathname: (args: {
336
+ href: string | {
337
+ pathname: string;
338
+ query?: import("next-intl/navigation").QueryParams;
339
+ };
340
+ locale: import("use-intl").Locale;
341
+ forcePrefix?: boolean;
342
+ }) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getPathname = exports.useRouter = exports.usePathname = exports.redirect = exports.Link = exports.localePrefix = exports.locales = void 0;
5
+ var navigation_1 = require("next-intl/navigation");
6
+ var routing_1 = require("./routing");
7
+ exports.locales = ['en', 'ur'];
8
+ exports.localePrefix = 'as-needed';
9
+ exports.Link = (_a = (0, navigation_1.createNavigation)(routing_1.routing), _a.Link), exports.redirect = _a.redirect, exports.usePathname = _a.usePathname, exports.useRouter = _a.useRouter, exports.getPathname = _a.getPathname;
@@ -0,0 +1,18 @@
1
+ export declare const routing: {
2
+ locales: readonly ["en", "ur"];
3
+ defaultLocale: "en" | "ur";
4
+ localePrefix?: import("next-intl/routing").LocalePrefix<readonly ["en", "ur"], "as-needed"> | undefined;
5
+ domains?: undefined;
6
+ localeCookie?: boolean | {
7
+ name?: string | undefined;
8
+ path?: string | undefined | undefined;
9
+ maxAge?: number | undefined | undefined;
10
+ priority?: "low" | "medium" | "high" | undefined | undefined;
11
+ domain?: string | undefined | undefined;
12
+ secure?: boolean | undefined | undefined;
13
+ sameSite?: true | false | "lax" | "strict" | "none" | undefined | undefined;
14
+ partitioned?: boolean | undefined | undefined;
15
+ };
16
+ alternateLinks?: boolean;
17
+ localeDetection?: boolean;
18
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routing = void 0;
4
+ var routing_1 = require("next-intl/routing");
5
+ exports.routing = (0, routing_1.defineRouting)({
6
+ locales: ["en", "ur"],
7
+ defaultLocale: "en",
8
+ localePrefix: "as-needed",
9
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/stellar-solutions-invoice-module",
3
- "version": "0.1.57",
3
+ "version": "0.1.60",
4
4
  "scripts": {
5
5
  "automate": "./automate.sh",
6
6
  "build": "yarn clean && yarn build:ts && cp package.json lib && cp README.md lib && cp yarn.lock lib",
@@ -21,9 +21,9 @@
21
21
  "devDependencies": {
22
22
  "@appcorp/app-corp-vista": "^0.3.48",
23
23
  "@appcorp/shadcn": "^1.0.32",
24
- "@appcorp/stellar-solutions-company-module": "^0.1.37",
25
- "@appcorp/stellar-solutions-modules": "^0.1.59",
26
- "@appcorp/stellar-solutions-product-module": "^0.2.17",
24
+ "@appcorp/stellar-solutions-company-module": "^0.1.40",
25
+ "@appcorp/stellar-solutions-modules": "^0.1.62",
26
+ "@appcorp/stellar-solutions-product-module": "^0.2.18",
27
27
  "@eslint/eslintrc": "^3",
28
28
  "@headlessui/react": "^2",
29
29
  "@heroicons/react": "^2",
@@ -35,7 +35,7 @@
35
35
  "@radix-ui/react-separator": "^1",
36
36
  "@radix-ui/react-slot": "^1",
37
37
  "@radix-ui/react-switch": "^1",
38
- "@react-pakistan/util-functions": "^1.24.78",
38
+ "@react-pakistan/util-functions": "^1.24.80",
39
39
  "@supabase/supabase-js": "^2",
40
40
  "@tailwindcss/forms": "^0",
41
41
  "@tailwindcss/postcss": "^4",