braid-ui 1.0.21 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4077,7 +4077,7 @@ var columnClasses = {
4077
4077
  4: "grid-cols-1 md:grid-cols-2 lg:grid-cols-4"
4078
4078
  };
4079
4079
  var DataGrid = React15.forwardRef(
4080
- ({ data, columns: columns2 = 2, gap = "md", className }, ref) => {
4080
+ ({ data, columns: columns3 = 2, gap = "md", className }, ref) => {
4081
4081
  const isItemArray = data.length > 0 && "label" in data[0];
4082
4082
  if (isItemArray) {
4083
4083
  const items = data;
@@ -4087,7 +4087,7 @@ var DataGrid = React15.forwardRef(
4087
4087
  ref,
4088
4088
  className: cn(
4089
4089
  "grid",
4090
- columnClasses[columns2],
4090
+ columnClasses[columns3],
4091
4091
  gapClasses2[gap],
4092
4092
  className
4093
4093
  ),
@@ -4108,7 +4108,7 @@ var DataGrid = React15.forwardRef(
4108
4108
  section.title && /* @__PURE__ */ jsx("h4", { className: "text-sm font-medium text-foreground mb-2", children: section.title }),
4109
4109
  /* @__PURE__ */ jsx("div", { className: cn(
4110
4110
  "grid",
4111
- columnClasses[columns2],
4111
+ columnClasses[columns3],
4112
4112
  gapClasses2[gap]
4113
4113
  ), children: section.items.map((item, itemIndex) => /* @__PURE__ */ jsx(
4114
4114
  InfoField,
@@ -4853,7 +4853,7 @@ var FormSection = React15.forwardRef(
4853
4853
  className,
4854
4854
  spacing: spacing2 = "md",
4855
4855
  layout = "vertical",
4856
- columns: columns2 = 2
4856
+ columns: columns3 = 2
4857
4857
  }, ref) => {
4858
4858
  return /* @__PURE__ */ jsxs("div", { ref, className: cn("space-y-4", className), children: [
4859
4859
  (title || description) && /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
@@ -4861,7 +4861,7 @@ var FormSection = React15.forwardRef(
4861
4861
  description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: description })
4862
4862
  ] }),
4863
4863
  /* @__PURE__ */ jsx("div", { className: cn(
4864
- layout === "grid" ? `grid gap-4 ${gridClasses[columns2]}` : spacingClasses[spacing2]
4864
+ layout === "grid" ? `grid gap-4 ${gridClasses[columns3]}` : spacingClasses[spacing2]
4865
4865
  ), children })
4866
4866
  ] });
4867
4867
  }
@@ -5840,7 +5840,7 @@ function DatePicker({
5840
5840
  return picker;
5841
5841
  }
5842
5842
  function DataTable({
5843
- columns: columns2,
5843
+ columns: columns3,
5844
5844
  data,
5845
5845
  sortBy,
5846
5846
  sortDirection,
@@ -5879,7 +5879,7 @@ function DataTable({
5879
5879
  return /* @__PURE__ */ jsx("div", { className: cn("rounded-md border", className), children: /* @__PURE__ */ jsx("div", { className: "p-8 text-center", children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-muted-foreground", children: "Loading..." }) }) });
5880
5880
  }
5881
5881
  return /* @__PURE__ */ jsx("div", { className: cn("rounded-md border", className), children: /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full", children: [
5882
- /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "border-b bg-muted/50", children: columns2.map((column) => /* @__PURE__ */ jsx(
5882
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "border-b bg-muted/50", children: columns3.map((column) => /* @__PURE__ */ jsx(
5883
5883
  "th",
5884
5884
  {
5885
5885
  style: column.width ? { width: column.width } : void 0,
@@ -5904,7 +5904,7 @@ function DataTable({
5904
5904
  },
5905
5905
  column.key
5906
5906
  )) }) }),
5907
- /* @__PURE__ */ jsx("tbody", { children: data.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: columns2.length, className: "h-24 text-center text-muted-foreground", children: emptyMessage }) }) : data.map((row, index) => /* @__PURE__ */ jsx(
5907
+ /* @__PURE__ */ jsx("tbody", { children: data.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: columns3.length, className: "h-24 text-center text-muted-foreground", children: emptyMessage }) }) : data.map((row, index) => /* @__PURE__ */ jsx(
5908
5908
  "tr",
5909
5909
  {
5910
5910
  className: cn(
@@ -5912,7 +5912,7 @@ function DataTable({
5912
5912
  onRowClick && "cursor-pointer"
5913
5913
  ),
5914
5914
  onClick: () => onRowClick?.(row),
5915
- children: columns2.map((column) => /* @__PURE__ */ jsx(
5915
+ children: columns3.map((column) => /* @__PURE__ */ jsx(
5916
5916
  "td",
5917
5917
  {
5918
5918
  style: column.width ? { width: column.width } : void 0,
@@ -7773,6 +7773,90 @@ var useAlertDetail = (id) => {
7773
7773
  handleResolveAlert
7774
7774
  };
7775
7775
  };
7776
+ var useBusinessFilters = ({ initialData }) => {
7777
+ const [filteredData, setFilteredData] = useState(initialData);
7778
+ const [filters, setFilters] = useState({
7779
+ name: "",
7780
+ productName: "",
7781
+ status: "",
7782
+ createdDateStart: void 0,
7783
+ createdDateEnd: void 0
7784
+ });
7785
+ const handleFilterChange = useCallback((field, value) => {
7786
+ setFilters((prev) => ({ ...prev, [field]: value }));
7787
+ }, []);
7788
+ const applyFilters = useCallback(() => {
7789
+ let filtered = initialData;
7790
+ if (filters.name) {
7791
+ filtered = filtered.filter(
7792
+ (business) => business.businessName.toLowerCase().includes(filters.name.toLowerCase())
7793
+ );
7794
+ }
7795
+ if (filters.productName) {
7796
+ filtered = filtered.filter(
7797
+ (business) => business.productName.toLowerCase().includes(filters.productName.toLowerCase())
7798
+ );
7799
+ }
7800
+ if (filters.status) {
7801
+ filtered = filtered.filter((business) => business.status === filters.status);
7802
+ }
7803
+ if (filters.createdDateStart) {
7804
+ filtered = filtered.filter(
7805
+ (business) => new Date(business.created) >= filters.createdDateStart
7806
+ );
7807
+ }
7808
+ if (filters.createdDateEnd) {
7809
+ filtered = filtered.filter(
7810
+ (business) => new Date(business.created) <= filters.createdDateEnd
7811
+ );
7812
+ }
7813
+ setFilteredData(filtered);
7814
+ }, [filters, initialData]);
7815
+ const resetFilters = useCallback(() => {
7816
+ setFilters({
7817
+ name: "",
7818
+ productName: "",
7819
+ status: "",
7820
+ createdDateStart: void 0,
7821
+ createdDateEnd: void 0
7822
+ });
7823
+ setFilteredData(initialData);
7824
+ }, [initialData]);
7825
+ return {
7826
+ filters,
7827
+ filteredData,
7828
+ handleFilterChange,
7829
+ applyFilters,
7830
+ resetFilters
7831
+ };
7832
+ };
7833
+ var useBusinessSort = ({ data }) => {
7834
+ const [sortBy, setSortBy] = useState("created");
7835
+ const [sortDirection, setSortDirection] = useState("desc");
7836
+ const handleSort = useCallback((key) => {
7837
+ if (sortBy === key) {
7838
+ setSortDirection((prev) => prev === "asc" ? "desc" : "asc");
7839
+ } else {
7840
+ setSortBy(key);
7841
+ setSortDirection("asc");
7842
+ }
7843
+ }, [sortBy]);
7844
+ const sortedData = useMemo(() => {
7845
+ return [...data].sort((a, b) => {
7846
+ const aValue = a[sortBy];
7847
+ const bValue = b[sortBy];
7848
+ if (aValue < bValue) return sortDirection === "asc" ? -1 : 1;
7849
+ if (aValue > bValue) return sortDirection === "asc" ? 1 : -1;
7850
+ return 0;
7851
+ });
7852
+ }, [data, sortBy, sortDirection]);
7853
+ return {
7854
+ sortBy,
7855
+ sortDirection,
7856
+ sortedData,
7857
+ handleSort
7858
+ };
7859
+ };
7776
7860
  var AlertDetail = () => {
7777
7861
  const { id } = useParams();
7778
7862
  const navigate = useNavigate();
@@ -8221,212 +8305,530 @@ var mockBusinessesList = [
8221
8305
  modified: "2025-10-01"
8222
8306
  }
8223
8307
  ];
8224
- var Businesses = () => {
8225
- const navigate = useNavigate();
8226
- const [businesses, setBusinesses] = useState(mockBusinessesList);
8227
- const [filteredBusinesses, setFilteredBusinesses] = useState(mockBusinessesList);
8228
- const [sortBy, setSortBy] = useState("created");
8229
- const [sortDirection, setSortDirection] = useState("desc");
8230
- const [filters, setFilters] = useState({
8231
- name: "",
8232
- productName: "",
8233
- status: "",
8234
- createdDateStart: void 0,
8235
- createdDateEnd: void 0
8236
- });
8237
- const handleFilterChange = (field, value) => {
8238
- setFilters((prev) => ({ ...prev, [field]: value }));
8239
- };
8240
- const applyFilters = () => {
8241
- let filtered = businesses;
8242
- if (filters.name) {
8243
- filtered = filtered.filter(
8244
- (business) => business.businessName.toLowerCase().includes(filters.name.toLowerCase())
8245
- );
8246
- }
8247
- if (filters.productName) {
8248
- filtered = filtered.filter(
8249
- (business) => business.productName.toLowerCase().includes(filters.productName.toLowerCase())
8250
- );
8251
- }
8252
- if (filters.status) {
8253
- filtered = filtered.filter((business) => business.status === filters.status);
8254
- }
8255
- if (filters.createdDateStart) {
8256
- filtered = filtered.filter(
8257
- (business) => new Date(business.created) >= filters.createdDateStart
8258
- );
8259
- }
8260
- if (filters.createdDateEnd) {
8261
- filtered = filtered.filter(
8262
- (business) => new Date(business.created) <= filters.createdDateEnd
8263
- );
8264
- }
8265
- setFilteredBusinesses(filtered);
8266
- };
8267
- const resetFilters = () => {
8268
- setFilters({
8269
- name: "",
8270
- productName: "",
8271
- status: "",
8272
- createdDateStart: void 0,
8273
- createdDateEnd: void 0
8274
- });
8275
- setFilteredBusinesses(businesses);
8276
- };
8277
- const handleSort = (key) => {
8278
- if (sortBy === key) {
8279
- setSortDirection(sortDirection === "asc" ? "desc" : "asc");
8280
- } else {
8281
- setSortBy(key);
8282
- setSortDirection("asc");
8283
- }
8284
- };
8285
- const handleRowClick = (business) => {
8286
- navigate(`/business/${business.id}`);
8287
- };
8288
- const columns2 = [
8289
- {
8290
- key: "id",
8291
- title: "Business ID",
8292
- sortable: true
8293
- },
8294
- {
8295
- key: "businessName",
8296
- title: "Business Name",
8297
- sortable: true
8298
- },
8299
- {
8300
- key: "productName",
8301
- title: "Product Name",
8302
- sortable: true,
8303
- render: (value) => /* @__PURE__ */ jsx("span", { className: "text-primary hover:underline cursor-pointer", children: value })
8304
- },
8305
- {
8306
- key: "cipStatus",
8307
- title: "CIP status",
8308
- sortable: true,
8309
- render: (value) => /* @__PURE__ */ jsx(CIPStatusBadge, { status: value })
8310
- },
8311
- {
8312
- key: "status",
8313
- title: "Status",
8314
- sortable: true,
8315
- render: (value) => /* @__PURE__ */ jsx(StatusBadge, { status: value?.toUpperCase() })
8316
- },
8317
- {
8318
- key: "created",
8319
- title: "Created",
8320
- sortable: true
8321
- },
8322
- {
8323
- key: "modified",
8324
- title: "Modified",
8325
- sortable: true
8326
- }
8327
- ];
8328
- const sortedBusinesses = [...filteredBusinesses].sort((a, b) => {
8329
- const aValue = a[sortBy];
8330
- const bValue = b[sortBy];
8331
- if (aValue < bValue) return sortDirection === "asc" ? -1 : 1;
8332
- if (aValue > bValue) return sortDirection === "asc" ? 1 : -1;
8333
- return 0;
8334
- });
8308
+ var BusinessFiltersSheet = ({
8309
+ filters,
8310
+ onFilterChange,
8311
+ onResetFilters
8312
+ }) => {
8313
+ return /* @__PURE__ */ jsxs(Sheet, { children: [
8314
+ /* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "outline", className: "gap-2", children: [
8315
+ /* @__PURE__ */ jsx(Filter, { className: "h-4 w-4" }),
8316
+ "Filters"
8317
+ ] }) }),
8318
+ /* @__PURE__ */ jsxs(SheetContent, { side: "right", className: "w-full sm:max-w-xl overflow-y-auto", children: [
8319
+ /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: "Business Filters" }) }),
8320
+ /* @__PURE__ */ jsxs("div", { className: "space-y-6 py-6", children: [
8321
+ /* @__PURE__ */ jsx(
8322
+ EnhancedInput,
8323
+ {
8324
+ label: "Name",
8325
+ value: filters.name,
8326
+ onChange: (e) => onFilterChange("name", e.target.value),
8327
+ placeholder: "Enter business name"
8328
+ }
8329
+ ),
8330
+ /* @__PURE__ */ jsx(
8331
+ EnhancedInput,
8332
+ {
8333
+ label: "Product Name",
8334
+ value: filters.productName,
8335
+ onChange: (e) => onFilterChange("productName", e.target.value),
8336
+ placeholder: "Enter product name"
8337
+ }
8338
+ ),
8339
+ /* @__PURE__ */ jsx(
8340
+ EnhancedSelect,
8341
+ {
8342
+ label: "Status",
8343
+ value: filters.status,
8344
+ onValueChange: (value) => onFilterChange("status", value),
8345
+ placeholder: "Select status",
8346
+ options: [
8347
+ { value: "active", label: "Active" },
8348
+ { value: "inactive", label: "Inactive" },
8349
+ { value: "suspended", label: "Suspended" }
8350
+ ]
8351
+ }
8352
+ ),
8353
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
8354
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
8355
+ /* @__PURE__ */ jsx("label", { className: "text-sm font-medium", children: "Created Date Start" }),
8356
+ /* @__PURE__ */ jsx(
8357
+ DatePicker,
8358
+ {
8359
+ date: filters.createdDateStart,
8360
+ onDateChange: (date) => onFilterChange("createdDateStart", date),
8361
+ placeholder: "MM/DD/YYYY",
8362
+ buttonClassName: "w-full",
8363
+ className: "bg-background z-50"
8364
+ }
8365
+ )
8366
+ ] }),
8367
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
8368
+ /* @__PURE__ */ jsx("label", { className: "text-sm font-medium", children: "Created Date End" }),
8369
+ /* @__PURE__ */ jsx(
8370
+ DatePicker,
8371
+ {
8372
+ date: filters.createdDateEnd,
8373
+ onDateChange: (date) => onFilterChange("createdDateEnd", date),
8374
+ placeholder: "MM/DD/YYYY",
8375
+ buttonClassName: "w-full",
8376
+ className: "bg-background z-50"
8377
+ }
8378
+ )
8379
+ ] })
8380
+ ] })
8381
+ ] }),
8382
+ /* @__PURE__ */ jsxs(SheetFooter, { className: "gap-2", children: [
8383
+ /* @__PURE__ */ jsx(Button, { variant: "outline", onClick: onResetFilters, children: "Reset Filters" }),
8384
+ /* @__PURE__ */ jsx(Button, { onClick: () => {
8385
+ }, children: "Apply Filters" })
8386
+ ] })
8387
+ ] })
8388
+ ] });
8389
+ };
8390
+ var columns2 = [
8391
+ {
8392
+ key: "id",
8393
+ title: "Business ID",
8394
+ sortable: true
8395
+ },
8396
+ {
8397
+ key: "businessName",
8398
+ title: "Business Name",
8399
+ sortable: true
8400
+ },
8401
+ {
8402
+ key: "productName",
8403
+ title: "Product Name",
8404
+ sortable: true,
8405
+ render: (value) => /* @__PURE__ */ jsx("span", { className: "text-primary hover:underline cursor-pointer", children: value })
8406
+ },
8407
+ {
8408
+ key: "cipStatus",
8409
+ title: "CIP status",
8410
+ sortable: true,
8411
+ render: (value) => /* @__PURE__ */ jsx(CIPStatusBadge, { status: value })
8412
+ },
8413
+ {
8414
+ key: "status",
8415
+ title: "Status",
8416
+ sortable: true,
8417
+ render: (value) => /* @__PURE__ */ jsx(StatusBadge, { status: value?.toUpperCase() })
8418
+ },
8419
+ {
8420
+ key: "created",
8421
+ title: "Created",
8422
+ sortable: true
8423
+ },
8424
+ {
8425
+ key: "modified",
8426
+ title: "Modified",
8427
+ sortable: true
8428
+ }
8429
+ ];
8430
+ var BusinessesView = ({
8431
+ filters,
8432
+ sortedData,
8433
+ sortBy,
8434
+ sortDirection,
8435
+ onFilterChange,
8436
+ onResetFilters,
8437
+ onSort,
8438
+ onRowClick,
8439
+ onCreateBusiness
8440
+ }) => {
8335
8441
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col h-screen bg-gradient-subtle", children: [
8336
8442
  /* @__PURE__ */ jsx("div", { className: "flex-none border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60", children: /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 py-6 max-w-none", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
8337
8443
  /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold text-foreground mb-2", children: "Businesses" }) }),
8338
8444
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
8339
- /* @__PURE__ */ jsxs(Sheet, { children: [
8340
- /* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "outline", className: "gap-2", children: [
8341
- /* @__PURE__ */ jsx(Filter, { className: "h-4 w-4" }),
8342
- "Filters"
8343
- ] }) }),
8344
- /* @__PURE__ */ jsxs(SheetContent, { side: "right", className: "w-full sm:max-w-xl overflow-y-auto", children: [
8345
- /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: "Business Filters" }) }),
8346
- /* @__PURE__ */ jsxs("div", { className: "space-y-6 py-6", children: [
8347
- /* @__PURE__ */ jsx(
8348
- EnhancedInput,
8349
- {
8350
- label: "Name",
8351
- value: filters.name,
8352
- onChange: (e) => handleFilterChange("name", e.target.value),
8353
- placeholder: "Enter business name"
8354
- }
8355
- ),
8356
- /* @__PURE__ */ jsx(
8357
- EnhancedInput,
8358
- {
8359
- label: "Product Name",
8360
- value: filters.productName,
8361
- onChange: (e) => handleFilterChange("productName", e.target.value),
8362
- placeholder: "Enter product name"
8363
- }
8364
- ),
8365
- /* @__PURE__ */ jsx(
8366
- EnhancedSelect,
8367
- {
8368
- label: "Status",
8369
- value: filters.status,
8370
- onValueChange: (value) => handleFilterChange("status", value),
8371
- placeholder: "Select status",
8372
- options: [
8373
- { value: "active", label: "Active" },
8374
- { value: "inactive", label: "Inactive" },
8375
- { value: "suspended", label: "Suspended" }
8376
- ]
8377
- }
8378
- ),
8379
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
8380
- /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
8381
- /* @__PURE__ */ jsx("label", { className: "text-sm font-medium", children: "Created Date Start" }),
8382
- /* @__PURE__ */ jsx(
8383
- DatePicker,
8384
- {
8385
- date: filters.createdDateStart,
8386
- onDateChange: (date) => handleFilterChange("createdDateStart", date),
8387
- placeholder: "MM/DD/YYYY",
8388
- buttonClassName: "w-full",
8389
- className: "bg-background z-50"
8390
- }
8391
- )
8392
- ] }),
8393
- /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
8394
- /* @__PURE__ */ jsx("label", { className: "text-sm font-medium", children: "Created Date End" }),
8395
- /* @__PURE__ */ jsx(
8396
- DatePicker,
8397
- {
8398
- date: filters.createdDateEnd,
8399
- onDateChange: (date) => handleFilterChange("createdDateEnd", date),
8400
- placeholder: "MM/DD/YYYY",
8401
- buttonClassName: "w-full",
8402
- className: "bg-background z-50"
8403
- }
8404
- )
8405
- ] })
8406
- ] })
8407
- ] }),
8408
- /* @__PURE__ */ jsxs(SheetFooter, { className: "gap-2", children: [
8409
- /* @__PURE__ */ jsx(Button, { variant: "outline", onClick: resetFilters, children: "Reset Filters" }),
8410
- /* @__PURE__ */ jsx(Button, { onClick: applyFilters, children: "Apply Filters" })
8411
- ] })
8445
+ /* @__PURE__ */ jsx(
8446
+ BusinessFiltersSheet,
8447
+ {
8448
+ filters,
8449
+ onFilterChange,
8450
+ onResetFilters
8451
+ }
8452
+ ),
8453
+ /* @__PURE__ */ jsx(Button, { onClick: onCreateBusiness, children: "Create Business" })
8454
+ ] })
8455
+ ] }) }) }),
8456
+ /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 h-full max-w-none flex flex-col", children: /* @__PURE__ */ jsx("div", { className: "flex-1 mt-4 overflow-auto", children: /* @__PURE__ */ jsx(
8457
+ DataTable,
8458
+ {
8459
+ columns: columns2,
8460
+ data: sortedData,
8461
+ sortBy,
8462
+ sortDirection,
8463
+ onSort,
8464
+ onRowClick
8465
+ }
8466
+ ) }) }) })
8467
+ ] });
8468
+ };
8469
+ var BusinessForm = ({
8470
+ form,
8471
+ businessType,
8472
+ onBusinessTypeChange,
8473
+ onSubmit
8474
+ }) => {
8475
+ return /* @__PURE__ */ jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-6", children: [
8476
+ /* @__PURE__ */ jsxs(Card, { className: "p-6", children: [
8477
+ /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-4 mb-6", children: /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Business Information" }) }),
8478
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [
8479
+ /* @__PURE__ */ jsx(
8480
+ EnhancedInput,
8481
+ {
8482
+ label: "Legal Name",
8483
+ placeholder: "Enter legal business name",
8484
+ required: true,
8485
+ ...form.register("legalName")
8486
+ }
8487
+ ),
8488
+ /* @__PURE__ */ jsx(
8489
+ EnhancedInput,
8490
+ {
8491
+ label: "DBA Name",
8492
+ placeholder: "Enter DBA name",
8493
+ hint: "Doing Business As name",
8494
+ ...form.register("dbaName")
8495
+ }
8496
+ ),
8497
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
8498
+ /* @__PURE__ */ jsx(
8499
+ EnhancedSelect,
8500
+ {
8501
+ label: "Business Type",
8502
+ placeholder: "Select business type",
8503
+ value: businessType,
8504
+ onValueChange: onBusinessTypeChange,
8505
+ options: [
8506
+ { value: "corporation", label: "Corporation" },
8507
+ { value: "llc", label: "LLC" },
8508
+ { value: "partnership", label: "Partnership" },
8509
+ { value: "sole_proprietorship", label: "Sole Proprietorship" }
8510
+ ]
8511
+ }
8512
+ ),
8513
+ businessType && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
8514
+ /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "Preview:" }),
8515
+ /* @__PURE__ */ jsx(BusinessTypeBadge, { type: businessType })
8412
8516
  ] })
8413
8517
  ] }),
8414
- /* @__PURE__ */ jsx(Button, { onClick: () => navigate("/business/create"), children: "Create Business" })
8518
+ /* @__PURE__ */ jsx(
8519
+ EnhancedInput,
8520
+ {
8521
+ label: "Tax ID (EIN)",
8522
+ placeholder: "12-3456789",
8523
+ hint: "Employer Identification Number",
8524
+ required: true,
8525
+ ...form.register("taxId")
8526
+ }
8527
+ ),
8528
+ /* @__PURE__ */ jsx(
8529
+ EnhancedInput,
8530
+ {
8531
+ label: "Formation Date",
8532
+ placeholder: "YYYY-MM-DD",
8533
+ type: "date",
8534
+ ...form.register("formationDate")
8535
+ }
8536
+ ),
8537
+ /* @__PURE__ */ jsx(
8538
+ EnhancedInput,
8539
+ {
8540
+ label: "Incorporation State",
8541
+ placeholder: "Enter state",
8542
+ ...form.register("incorporationState")
8543
+ }
8544
+ ),
8545
+ /* @__PURE__ */ jsx(
8546
+ EnhancedInput,
8547
+ {
8548
+ label: "Website",
8549
+ placeholder: "https://www.business.com",
8550
+ type: "url",
8551
+ ...form.register("website")
8552
+ }
8553
+ ),
8554
+ /* @__PURE__ */ jsx(
8555
+ EnhancedInput,
8556
+ {
8557
+ label: "Email Address",
8558
+ placeholder: "contact@business.com",
8559
+ type: "email",
8560
+ ...form.register("email")
8561
+ }
8562
+ ),
8563
+ /* @__PURE__ */ jsx(
8564
+ EnhancedInput,
8565
+ {
8566
+ label: "Mobile Phone",
8567
+ placeholder: "+1 (555) 123-4567",
8568
+ ...form.register("mobilePhone")
8569
+ }
8570
+ ),
8571
+ /* @__PURE__ */ jsx(
8572
+ EnhancedInput,
8573
+ {
8574
+ label: "MCC",
8575
+ placeholder: "1234",
8576
+ hint: "4-digit Merchant Category Code",
8577
+ ...form.register("mcc")
8578
+ }
8579
+ ),
8580
+ /* @__PURE__ */ jsx(
8581
+ EnhancedInput,
8582
+ {
8583
+ label: "NAICS",
8584
+ placeholder: "123456",
8585
+ hint: "6-digit industry classification",
8586
+ ...form.register("naics")
8587
+ }
8588
+ ),
8589
+ /* @__PURE__ */ jsx(
8590
+ EnhancedInput,
8591
+ {
8592
+ label: "ACH Company ID",
8593
+ placeholder: "1234567890",
8594
+ hint: "10-digit ACH identifier",
8595
+ ...form.register("achCompanyId")
8596
+ }
8597
+ ),
8598
+ /* @__PURE__ */ jsx(
8599
+ EnhancedInput,
8600
+ {
8601
+ label: "ACH Company Name",
8602
+ placeholder: "Enter ACH company name",
8603
+ ...form.register("achCompanyName")
8604
+ }
8605
+ ),
8606
+ /* @__PURE__ */ jsx(
8607
+ EnhancedInput,
8608
+ {
8609
+ label: "External ID",
8610
+ placeholder: "UUID format",
8611
+ hint: "External system identifier",
8612
+ ...form.register("externalId")
8613
+ }
8614
+ )
8615
+ ] })
8616
+ ] }),
8617
+ /* @__PURE__ */ jsxs(Card, { className: "p-6", children: [
8618
+ /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-4 mb-6", children: /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Business Address" }) }),
8619
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [
8620
+ /* @__PURE__ */ jsx(
8621
+ EnhancedInput,
8622
+ {
8623
+ label: "Street Address",
8624
+ placeholder: "Enter street address",
8625
+ required: true,
8626
+ ...form.register("address.streetAddress")
8627
+ }
8628
+ ),
8629
+ /* @__PURE__ */ jsx(
8630
+ EnhancedInput,
8631
+ {
8632
+ label: "Apartment/Suite",
8633
+ placeholder: "Enter apartment or suite number",
8634
+ ...form.register("address.apartment")
8635
+ }
8636
+ ),
8637
+ /* @__PURE__ */ jsx(
8638
+ EnhancedInput,
8639
+ {
8640
+ label: "City",
8641
+ placeholder: "Enter city",
8642
+ required: true,
8643
+ ...form.register("address.city")
8644
+ }
8645
+ ),
8646
+ /* @__PURE__ */ jsx(
8647
+ EnhancedInput,
8648
+ {
8649
+ label: "State",
8650
+ placeholder: "Enter state",
8651
+ required: true,
8652
+ ...form.register("address.state")
8653
+ }
8654
+ ),
8655
+ /* @__PURE__ */ jsx(
8656
+ EnhancedInput,
8657
+ {
8658
+ label: "Postal Code",
8659
+ placeholder: "12345",
8660
+ required: true,
8661
+ ...form.register("address.postalCode")
8662
+ }
8663
+ ),
8664
+ /* @__PURE__ */ jsx(
8665
+ EnhancedSelect,
8666
+ {
8667
+ label: "Country",
8668
+ placeholder: "Select country",
8669
+ value: form.watch("address.country"),
8670
+ onValueChange: (value) => form.setValue("address.country", value),
8671
+ options: [
8672
+ { value: "US", label: "United States" },
8673
+ { value: "CA", label: "Canada" },
8674
+ { value: "GB", label: "United Kingdom" },
8675
+ { value: "DE", label: "Germany" }
8676
+ ]
8677
+ }
8678
+ )
8415
8679
  ] })
8416
- ] }) }) }),
8417
- /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 h-full max-w-none flex flex-col", children: /* @__PURE__ */ jsx("div", { className: "flex-1 mt-4 overflow-auto", children: /* @__PURE__ */ jsx(
8418
- DataTable,
8419
- {
8420
- columns: columns2,
8421
- data: sortedBusinesses,
8422
- sortBy,
8423
- sortDirection,
8424
- onSort: handleSort,
8425
- onRowClick: handleRowClick
8426
- }
8427
- ) }) }) })
8680
+ ] }),
8681
+ /* @__PURE__ */ jsxs(Card, { className: "p-6", children: [
8682
+ /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-4 mb-6", children: /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Contact Information" }) }),
8683
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [
8684
+ /* @__PURE__ */ jsx(
8685
+ EnhancedInput,
8686
+ {
8687
+ label: "Contact First Name",
8688
+ placeholder: "Enter first name",
8689
+ ...form.register("contactFirstName")
8690
+ }
8691
+ ),
8692
+ /* @__PURE__ */ jsx(
8693
+ EnhancedInput,
8694
+ {
8695
+ label: "Contact Last Name",
8696
+ placeholder: "Enter last name",
8697
+ ...form.register("contactLastName")
8698
+ }
8699
+ ),
8700
+ /* @__PURE__ */ jsx(
8701
+ EnhancedInput,
8702
+ {
8703
+ label: "Contact Email",
8704
+ placeholder: "contact@business.com",
8705
+ type: "email",
8706
+ ...form.register("contactEmail")
8707
+ }
8708
+ ),
8709
+ /* @__PURE__ */ jsx(
8710
+ EnhancedInput,
8711
+ {
8712
+ label: "Contact Phone",
8713
+ placeholder: "+1 (555) 123-4567",
8714
+ ...form.register("contactPhone")
8715
+ }
8716
+ )
8717
+ ] })
8718
+ ] })
8428
8719
  ] });
8429
8720
  };
8721
+ var CreateBusinessView = ({
8722
+ form,
8723
+ businessType,
8724
+ onBusinessTypeChange,
8725
+ onSubmit,
8726
+ onCancel
8727
+ }) => {
8728
+ return /* @__PURE__ */ jsx(
8729
+ PageLayout,
8730
+ {
8731
+ title: "Create Business",
8732
+ actions: [
8733
+ { label: "Cancel", variant: "outline", onClick: onCancel },
8734
+ { label: "Create Business", variant: "default", onClick: form.handleSubmit(onSubmit) }
8735
+ ],
8736
+ children: /* @__PURE__ */ jsx(
8737
+ BusinessForm,
8738
+ {
8739
+ form,
8740
+ businessType,
8741
+ onBusinessTypeChange,
8742
+ onSubmit
8743
+ }
8744
+ )
8745
+ }
8746
+ );
8747
+ };
8748
+ var Businesses = () => {
8749
+ const navigate = useNavigate();
8750
+ const [filters, setFilters] = useState({
8751
+ name: "",
8752
+ productName: "",
8753
+ status: "",
8754
+ createdDateStart: void 0,
8755
+ createdDateEnd: void 0
8756
+ });
8757
+ const [sortBy, setSortBy] = useState("created");
8758
+ const [sortDirection, setSortDirection] = useState("desc");
8759
+ const filteredData = useMemo(() => {
8760
+ return mockBusinessesList.filter((business) => {
8761
+ if (filters.name && !business.businessName.toLowerCase().includes(filters.name.toLowerCase())) {
8762
+ return false;
8763
+ }
8764
+ if (filters.productName && !business.productName.toLowerCase().includes(filters.productName.toLowerCase())) {
8765
+ return false;
8766
+ }
8767
+ if (filters.status && business.status.toLowerCase() !== filters.status.toLowerCase()) {
8768
+ return false;
8769
+ }
8770
+ if (filters.createdDateStart || filters.createdDateEnd) {
8771
+ const created = new Date(business.created);
8772
+ if (filters.createdDateStart && created < filters.createdDateStart) {
8773
+ return false;
8774
+ }
8775
+ if (filters.createdDateEnd && created > filters.createdDateEnd) {
8776
+ return false;
8777
+ }
8778
+ }
8779
+ return true;
8780
+ });
8781
+ }, [filters]);
8782
+ const sortedData = useMemo(() => {
8783
+ return [...filteredData].sort((a, b) => {
8784
+ const aValue = a[sortBy];
8785
+ const bValue = b[sortBy];
8786
+ if (aValue < bValue) return sortDirection === "asc" ? -1 : 1;
8787
+ if (aValue > bValue) return sortDirection === "asc" ? 1 : -1;
8788
+ return 0;
8789
+ });
8790
+ }, [filteredData, sortBy, sortDirection]);
8791
+ const handleFilterChange = useCallback((field, value) => {
8792
+ setFilters((prev) => ({ ...prev, [field]: value }));
8793
+ }, []);
8794
+ const resetFilters = useCallback(() => {
8795
+ setFilters({
8796
+ name: "",
8797
+ productName: "",
8798
+ status: "",
8799
+ createdDateStart: void 0,
8800
+ createdDateEnd: void 0
8801
+ });
8802
+ }, []);
8803
+ const handleSort = useCallback((key) => {
8804
+ if (sortBy === key) {
8805
+ setSortDirection((prev) => prev === "asc" ? "desc" : "asc");
8806
+ } else {
8807
+ setSortBy(key);
8808
+ setSortDirection("asc");
8809
+ }
8810
+ }, [sortBy]);
8811
+ const handleRowClick = useCallback((business) => {
8812
+ navigate(`/business/${business.id}`);
8813
+ }, [navigate]);
8814
+ const handleCreateBusiness = useCallback(() => {
8815
+ navigate("/business/create");
8816
+ }, [navigate]);
8817
+ return /* @__PURE__ */ jsx(
8818
+ BusinessesView,
8819
+ {
8820
+ filters,
8821
+ sortedData,
8822
+ sortBy,
8823
+ sortDirection,
8824
+ onFilterChange: handleFilterChange,
8825
+ onResetFilters: resetFilters,
8826
+ onSort: handleSort,
8827
+ onRowClick: handleRowClick,
8828
+ onCreateBusiness: handleCreateBusiness
8829
+ }
8830
+ );
8831
+ };
8430
8832
  var Businesses_default = Businesses;
8431
8833
  var typeConfig3 = {
8432
8834
  Individual: {
@@ -8652,7 +9054,7 @@ var mockBusinessAccounts = {
8652
9054
  ]
8653
9055
  };
8654
9056
  var UBOCard = ({ ubos }) => {
8655
- const columns2 = [
9057
+ const columns3 = [
8656
9058
  {
8657
9059
  key: "name",
8658
9060
  title: "Name",
@@ -8696,7 +9098,7 @@ var UBOCard = ({ ubos }) => {
8696
9098
  ] }) : /* @__PURE__ */ jsx(
8697
9099
  DataTable,
8698
9100
  {
8699
- columns: columns2,
9101
+ columns: columns3,
8700
9102
  data: ubos
8701
9103
  }
8702
9104
  ) })
@@ -9103,302 +9505,62 @@ var Business = () => {
9103
9505
  );
9104
9506
  };
9105
9507
  var BusinessDetail_default = Business;
9508
+ var defaultBusinessFormValues = {
9509
+ legalName: "",
9510
+ dbaName: "",
9511
+ businessType: "",
9512
+ taxId: "",
9513
+ formationDate: "",
9514
+ idType: "EIN",
9515
+ incorporationState: "",
9516
+ website: "",
9517
+ email: "",
9518
+ mobilePhone: "",
9519
+ mcc: "",
9520
+ naics: "",
9521
+ achCompanyId: "",
9522
+ achCompanyName: "",
9523
+ externalId: "",
9524
+ contactFirstName: "",
9525
+ contactLastName: "",
9526
+ contactEmail: "",
9527
+ contactPhone: "",
9528
+ address: {
9529
+ streetAddress: "",
9530
+ apartment: "",
9531
+ city: "",
9532
+ state: "",
9533
+ postalCode: "",
9534
+ country: "US",
9535
+ addressType: "business"
9536
+ }
9537
+ };
9106
9538
  var CreateBusiness = () => {
9107
9539
  const navigate = useNavigate();
9108
9540
  const [businessType, setBusinessType] = useState("");
9109
9541
  const form = useForm({
9110
9542
  resolver: zodResolver(businessProfileSchema),
9111
- defaultValues: {
9112
- legalName: "",
9113
- dbaName: "",
9114
- businessType: "",
9115
- taxId: "",
9116
- formationDate: "",
9117
- idType: "EIN",
9118
- incorporationState: "",
9119
- website: "",
9120
- email: "",
9121
- mobilePhone: "",
9122
- mcc: "",
9123
- naics: "",
9124
- achCompanyId: "",
9125
- achCompanyName: "",
9126
- externalId: "",
9127
- contactFirstName: "",
9128
- contactLastName: "",
9129
- contactEmail: "",
9130
- contactPhone: "",
9131
- address: {
9132
- streetAddress: "",
9133
- apartment: "",
9134
- city: "",
9135
- state: "",
9136
- postalCode: "",
9137
- country: "US",
9138
- addressType: "business"
9139
- }
9140
- }
9543
+ defaultValues: defaultBusinessFormValues
9141
9544
  });
9142
- const onSubmit = (data) => {
9545
+ const onSubmit = useCallback((data) => {
9143
9546
  console.log("Business data:", data);
9144
9547
  navigate("/business");
9145
- };
9548
+ }, [navigate]);
9549
+ const handleCancel = useCallback(() => {
9550
+ navigate("/business");
9551
+ }, [navigate]);
9552
+ const handleBusinessTypeChange = useCallback((value) => {
9553
+ setBusinessType(value);
9554
+ form.setValue("businessType", value);
9555
+ }, [form]);
9146
9556
  return /* @__PURE__ */ jsx(
9147
- PageLayout,
9557
+ CreateBusinessView,
9148
9558
  {
9149
- title: "Create Business",
9150
- actions: [
9151
- { label: "Cancel", variant: "outline", onClick: () => navigate("/business") },
9152
- { label: "Create Business", variant: "default", onClick: form.handleSubmit(onSubmit) }
9153
- ],
9154
- children: /* @__PURE__ */ jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-6", children: [
9155
- /* @__PURE__ */ jsxs(Card, { className: "p-6", children: [
9156
- /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-4 mb-6", children: /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Business Information" }) }),
9157
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [
9158
- /* @__PURE__ */ jsx(
9159
- EnhancedInput,
9160
- {
9161
- label: "Legal Name",
9162
- placeholder: "Enter legal business name",
9163
- required: true,
9164
- ...form.register("legalName")
9165
- }
9166
- ),
9167
- /* @__PURE__ */ jsx(
9168
- EnhancedInput,
9169
- {
9170
- label: "DBA Name",
9171
- placeholder: "Enter DBA name",
9172
- hint: "Doing Business As name",
9173
- ...form.register("dbaName")
9174
- }
9175
- ),
9176
- /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
9177
- /* @__PURE__ */ jsx(
9178
- EnhancedSelect,
9179
- {
9180
- label: "Business Type",
9181
- placeholder: "Select business type",
9182
- value: businessType,
9183
- onValueChange: (value) => {
9184
- setBusinessType(value);
9185
- form.setValue("businessType", value);
9186
- },
9187
- options: [
9188
- { value: "corporation", label: "Corporation" },
9189
- { value: "llc", label: "LLC" },
9190
- { value: "partnership", label: "Partnership" },
9191
- { value: "sole_proprietorship", label: "Sole Proprietorship" }
9192
- ]
9193
- }
9194
- ),
9195
- businessType && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
9196
- /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "Preview:" }),
9197
- /* @__PURE__ */ jsx(BusinessTypeBadge, { type: businessType })
9198
- ] })
9199
- ] }),
9200
- /* @__PURE__ */ jsx(
9201
- EnhancedInput,
9202
- {
9203
- label: "Tax ID (EIN)",
9204
- placeholder: "12-3456789",
9205
- hint: "Employer Identification Number",
9206
- required: true,
9207
- ...form.register("taxId")
9208
- }
9209
- ),
9210
- /* @__PURE__ */ jsx(
9211
- EnhancedInput,
9212
- {
9213
- label: "Formation Date",
9214
- placeholder: "YYYY-MM-DD",
9215
- type: "date",
9216
- ...form.register("formationDate")
9217
- }
9218
- ),
9219
- /* @__PURE__ */ jsx(
9220
- EnhancedInput,
9221
- {
9222
- label: "Incorporation State",
9223
- placeholder: "Enter state",
9224
- ...form.register("incorporationState")
9225
- }
9226
- ),
9227
- /* @__PURE__ */ jsx(
9228
- EnhancedInput,
9229
- {
9230
- label: "Website",
9231
- placeholder: "https://www.business.com",
9232
- type: "url",
9233
- ...form.register("website")
9234
- }
9235
- ),
9236
- /* @__PURE__ */ jsx(
9237
- EnhancedInput,
9238
- {
9239
- label: "Email Address",
9240
- placeholder: "contact@business.com",
9241
- type: "email",
9242
- ...form.register("email")
9243
- }
9244
- ),
9245
- /* @__PURE__ */ jsx(
9246
- EnhancedInput,
9247
- {
9248
- label: "Mobile Phone",
9249
- placeholder: "+1 (555) 123-4567",
9250
- ...form.register("mobilePhone")
9251
- }
9252
- ),
9253
- /* @__PURE__ */ jsx(
9254
- EnhancedInput,
9255
- {
9256
- label: "MCC",
9257
- placeholder: "1234",
9258
- hint: "4-digit Merchant Category Code",
9259
- ...form.register("mcc")
9260
- }
9261
- ),
9262
- /* @__PURE__ */ jsx(
9263
- EnhancedInput,
9264
- {
9265
- label: "NAICS",
9266
- placeholder: "123456",
9267
- hint: "6-digit industry classification",
9268
- ...form.register("naics")
9269
- }
9270
- ),
9271
- /* @__PURE__ */ jsx(
9272
- EnhancedInput,
9273
- {
9274
- label: "ACH Company ID",
9275
- placeholder: "1234567890",
9276
- hint: "10-digit ACH identifier",
9277
- ...form.register("achCompanyId")
9278
- }
9279
- ),
9280
- /* @__PURE__ */ jsx(
9281
- EnhancedInput,
9282
- {
9283
- label: "ACH Company Name",
9284
- placeholder: "Enter ACH company name",
9285
- ...form.register("achCompanyName")
9286
- }
9287
- ),
9288
- /* @__PURE__ */ jsx(
9289
- EnhancedInput,
9290
- {
9291
- label: "External ID",
9292
- placeholder: "UUID format",
9293
- hint: "External system identifier",
9294
- ...form.register("externalId")
9295
- }
9296
- )
9297
- ] })
9298
- ] }),
9299
- /* @__PURE__ */ jsxs(Card, { className: "p-6", children: [
9300
- /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-4 mb-6", children: /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Business Address" }) }),
9301
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [
9302
- /* @__PURE__ */ jsx(
9303
- EnhancedInput,
9304
- {
9305
- label: "Street Address",
9306
- placeholder: "Enter street address",
9307
- required: true,
9308
- ...form.register("address.streetAddress")
9309
- }
9310
- ),
9311
- /* @__PURE__ */ jsx(
9312
- EnhancedInput,
9313
- {
9314
- label: "Apartment/Suite",
9315
- placeholder: "Enter apartment or suite number",
9316
- ...form.register("address.apartment")
9317
- }
9318
- ),
9319
- /* @__PURE__ */ jsx(
9320
- EnhancedInput,
9321
- {
9322
- label: "City",
9323
- placeholder: "Enter city",
9324
- required: true,
9325
- ...form.register("address.city")
9326
- }
9327
- ),
9328
- /* @__PURE__ */ jsx(
9329
- EnhancedInput,
9330
- {
9331
- label: "State",
9332
- placeholder: "Enter state",
9333
- required: true,
9334
- ...form.register("address.state")
9335
- }
9336
- ),
9337
- /* @__PURE__ */ jsx(
9338
- EnhancedInput,
9339
- {
9340
- label: "Postal Code",
9341
- placeholder: "12345",
9342
- required: true,
9343
- ...form.register("address.postalCode")
9344
- }
9345
- ),
9346
- /* @__PURE__ */ jsx(
9347
- EnhancedSelect,
9348
- {
9349
- label: "Country",
9350
- placeholder: "Select country",
9351
- value: form.watch("address.country"),
9352
- onValueChange: (value) => form.setValue("address.country", value),
9353
- options: [
9354
- { value: "US", label: "United States" },
9355
- { value: "CA", label: "Canada" },
9356
- { value: "GB", label: "United Kingdom" },
9357
- { value: "DE", label: "Germany" }
9358
- ]
9359
- }
9360
- )
9361
- ] })
9362
- ] }),
9363
- /* @__PURE__ */ jsxs(Card, { className: "p-6", children: [
9364
- /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-4 mb-6", children: /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Contact Information" }) }),
9365
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [
9366
- /* @__PURE__ */ jsx(
9367
- EnhancedInput,
9368
- {
9369
- label: "Contact First Name",
9370
- placeholder: "Enter first name",
9371
- ...form.register("contactFirstName")
9372
- }
9373
- ),
9374
- /* @__PURE__ */ jsx(
9375
- EnhancedInput,
9376
- {
9377
- label: "Contact Last Name",
9378
- placeholder: "Enter last name",
9379
- ...form.register("contactLastName")
9380
- }
9381
- ),
9382
- /* @__PURE__ */ jsx(
9383
- EnhancedInput,
9384
- {
9385
- label: "Contact Email",
9386
- placeholder: "contact@business.com",
9387
- type: "email",
9388
- ...form.register("contactEmail")
9389
- }
9390
- ),
9391
- /* @__PURE__ */ jsx(
9392
- EnhancedInput,
9393
- {
9394
- label: "Contact Phone",
9395
- placeholder: "+1 (555) 123-4567",
9396
- ...form.register("contactPhone")
9397
- }
9398
- )
9399
- ] })
9400
- ] })
9401
- ] })
9559
+ form,
9560
+ businessType,
9561
+ onBusinessTypeChange: handleBusinessTypeChange,
9562
+ onSubmit,
9563
+ onCancel: handleCancel
9402
9564
  }
9403
9565
  );
9404
9566
  };
@@ -9570,7 +9732,7 @@ var Counterparties = () => {
9570
9732
  const handleRowClick = (counterparty) => {
9571
9733
  navigate(`/counterparty/${counterparty.id}`);
9572
9734
  };
9573
- const columns2 = [
9735
+ const columns3 = [
9574
9736
  {
9575
9737
  key: "id",
9576
9738
  title: "Counterparty ID",
@@ -9709,7 +9871,7 @@ var Counterparties = () => {
9709
9871
  /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 h-full max-w-none flex flex-col", children: /* @__PURE__ */ jsx("div", { className: "flex-1 mt-4 overflow-auto", children: /* @__PURE__ */ jsx(
9710
9872
  DataTable,
9711
9873
  {
9712
- columns: columns2,
9874
+ columns: columns3,
9713
9875
  data: sortedCounterparties,
9714
9876
  sortBy,
9715
9877
  sortDirection,
@@ -10193,7 +10355,7 @@ var Individuals = () => {
10193
10355
  const handleRowClick = (row) => {
10194
10356
  navigate(`/individual/${row.id}`);
10195
10357
  };
10196
- const columns2 = [
10358
+ const columns3 = [
10197
10359
  {
10198
10360
  key: "id",
10199
10361
  title: "Individual ID",
@@ -10327,7 +10489,7 @@ var Individuals = () => {
10327
10489
  /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 h-full max-w-none flex flex-col", children: /* @__PURE__ */ jsx("div", { className: "flex-1 mt-4 overflow-auto", children: /* @__PURE__ */ jsx(
10328
10490
  DataTable,
10329
10491
  {
10330
- columns: columns2,
10492
+ columns: columns3,
10331
10493
  data: sortedIndividuals,
10332
10494
  sortBy,
10333
10495
  sortDirection,
@@ -12761,6 +12923,6 @@ function UIKit() {
12761
12923
  ] }) }) });
12762
12924
  }
12763
12925
 
12764
- export { ACHBankCard, ACHBasicInfoCard, ACHDetailsSection, ACHTransferSection, AccountCard, AddressForm, AlertDetail_default as AlertDetail, AlertDetailRouter, AlertDocuments, AlertHeaderControls, AlertNotes, AlertTimeline, Alerts_default as Alerts, AppSidebar, Badge, BankAddressCard, BankingDetailsCard, BasicInfoCard, BasicInfoSection, BeneficiaryAddress, BeneficiaryCard, BeneficiaryDomesticWire, Breadcrumb, BusinessDetail_default as BusinessDetail, BusinessProfileCard, BusinessStatusCard, BusinessTypeBadge, Businesses_default as Businesses, Button, CIPStatusBadge, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Cases_default as Cases, Checkbox, ContactInfoCard, Container, ContextSection, Counterparties_default as Counterparties, CounterpartyBasicInfo, CounterpartyDetail_default as CounterpartyDetail, CounterpartyProfileCard, CounterpartyRecordsCard, CounterpartyTypeBadge, Create_default as CreateBusiness, Create_default2 as CreateCounterparty, Create_default3 as CreateIndividual, Dashboard_default as Dashboard, DashboardDemo, DataGrid, DataTable, DetailPageLayout, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EditableFormCard, EditableInfoField, EnhancedInput, EnhancedSelect, EnhancedTextarea, EntityCard, FormCard, FormField, FormInput, FormProvider, FormSection, FormSelect, IndividualDetail_default as IndividualDetail, Individuals_default as Individuals, InfoField, IntermediaryCard, IntermediaryFI, IntermediaryFIAddress, JsonViewer, Label, ListPage, MainLayout, MetricCard, NewTransaction, NotFound_default as NotFound, OFACAlertView, OriginatorCard, OriginatorFI, OriginatorFIAddress, PageLayout, PatternLibrary, PaymentInformationSection, Popover, PopoverContent, PopoverTrigger, ReceiverCard, ResolveAlertDialog, ResponsiveGrid, ScrollArea, ScrollBar, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Stack, Statement, StatementHeader, StatementView, StatusBadge, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransactionDetail_default as TransactionDetail, TransactionHistory_default as TransactionHistory, TransactionTypeBadge, UIKit, UIKitShowcase, WireDetailsSection, WireTransferSection, badgeVariants, buttonVariants, cardVariants, downloadCSV, generateStatementCSV, inputVariants, reducer, textareaVariants, toast, useAlertDetail, useEditState, useFormWithEditState, useIsMobile, useSidebar, useToast };
12926
+ export { ACHBankCard, ACHBasicInfoCard, ACHDetailsSection, ACHTransferSection, AccountCard, AddressForm, AlertDetail_default as AlertDetail, AlertDetailRouter, AlertDocuments, AlertHeaderControls, AlertNotes, AlertTimeline, Alerts_default as Alerts, AppSidebar, Badge, BankAddressCard, BankingDetailsCard, BasicInfoCard, BasicInfoSection, BeneficiaryAddress, BeneficiaryCard, BeneficiaryDomesticWire, Breadcrumb, BusinessDetail_default as BusinessDetail, BusinessProfileCard, BusinessStatusCard, BusinessTypeBadge, Businesses_default as Businesses, Button, CIPStatusBadge, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Cases_default as Cases, Checkbox, ContactInfoCard, Container, ContextSection, Counterparties_default as Counterparties, CounterpartyBasicInfo, CounterpartyDetail_default as CounterpartyDetail, CounterpartyProfileCard, CounterpartyRecordsCard, CounterpartyTypeBadge, Create_default as CreateBusiness, Create_default2 as CreateCounterparty, Create_default3 as CreateIndividual, Dashboard_default as Dashboard, DashboardDemo, DataGrid, DataTable, DetailPageLayout, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EditableFormCard, EditableInfoField, EnhancedInput, EnhancedSelect, EnhancedTextarea, EntityCard, FormCard, FormField, FormInput, FormProvider, FormSection, FormSelect, IndividualDetail_default as IndividualDetail, Individuals_default as Individuals, InfoField, IntermediaryCard, IntermediaryFI, IntermediaryFIAddress, JsonViewer, Label, ListPage, MainLayout, MetricCard, NewTransaction, NotFound_default as NotFound, OFACAlertView, OriginatorCard, OriginatorFI, OriginatorFIAddress, PageLayout, PatternLibrary, PaymentInformationSection, Popover, PopoverContent, PopoverTrigger, ReceiverCard, ResolveAlertDialog, ResponsiveGrid, ScrollArea, ScrollBar, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Stack, Statement, StatementHeader, StatementView, StatusBadge, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransactionDetail_default as TransactionDetail, TransactionHistory_default as TransactionHistory, TransactionTypeBadge, UIKit, UIKitShowcase, WireDetailsSection, WireTransferSection, badgeVariants, buttonVariants, cardVariants, downloadCSV, generateStatementCSV, inputVariants, reducer, textareaVariants, toast, useAlertDetail, useBusinessFilters, useBusinessSort, useEditState, useFormWithEditState, useIsMobile, useSidebar, useToast };
12765
12927
  //# sourceMappingURL=index.js.map
12766
12928
  //# sourceMappingURL=index.js.map