myoperator-ui 0.0.229 → 0.0.231

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 (2) hide show
  1. package/dist/index.js +104 -83
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -12012,80 +12012,88 @@ const PlanDetailModal = React.forwardRef(
12012
12012
  <DialogContent
12013
12013
  size="lg"
12014
12014
  hideCloseButton
12015
- className="p-0 gap-0 overflow-hidden"
12015
+ className={cn(
12016
+ "flex max-h-[min(90vh,calc(100dvh-2rem))] min-w-0 flex-col gap-0 overflow-hidden rounded-xl",
12017
+ "w-full max-w-[min(42rem,calc(100vw-2rem))] p-3 sm:p-4 md:p-6"
12018
+ )}
12016
12019
  >
12020
+ <DialogDescription className="sr-only">
12021
+ Plan features, free allowances, and rates for this subscription.
12022
+ </DialogDescription>
12017
12023
  <div
12018
12024
  ref={ref}
12019
- className={cn("flex flex-col", className)}
12025
+ className={cn("flex min-h-0 flex-1 flex-col", className)}
12020
12026
  {...props}
12021
12027
  >
12022
- {/* Header */}
12023
- <div className="flex items-center justify-between px-8 py-4 border-b border-solid border-semantic-border-layout">
12024
- <DialogTitle className="text-lg font-semibold text-semantic-text-primary leading-none m-0">
12028
+ {/* Header \u2014 matches other custom modals (e.g. plan-upgrade-summary) */}
12029
+ <div className="flex shrink-0 items-start justify-between gap-3 border-b border-solid border-semantic-border-layout pb-3 sm:gap-4 sm:pb-4">
12030
+ <DialogTitle className="m-0 min-w-0 flex-1 pr-2 text-base font-semibold leading-normal text-semantic-text-primary sm:text-lg">
12025
12031
  {title}
12026
12032
  </DialogTitle>
12027
12033
  <button
12028
12034
  type="button"
12029
12035
  onClick={handleClose}
12030
12036
  aria-label="Close"
12031
- className="flex items-center justify-center size-6 rounded text-semantic-text-muted hover:text-semantic-text-primary hover:bg-semantic-bg-hover transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-border-focus"
12037
+ className="shrink-0 text-semantic-text-muted transition-colors hover:text-semantic-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-border-focus focus-visible:ring-offset-2"
12032
12038
  >
12033
- <X className="size-3" aria-hidden="true" />
12039
+ <X className="size-6" aria-hidden="true" />
12034
12040
  </button>
12035
12041
  </div>
12036
12042
 
12037
- {/* Body */}
12038
- <DialogDescription asChild>
12039
- <div className="flex flex-col gap-2.5 px-8 py-5 overflow-y-auto max-h-[70vh]">
12040
- <p className="m-0 text-base font-semibold text-semantic-text-primary leading-none">
12041
- Features
12042
- </p>
12043
- <div className="w-full overflow-x-auto rounded border border-solid border-semantic-border-layout">
12044
- <table className="w-full border-collapse text-sm">
12045
- <thead>
12046
- <tr className="bg-semantic-bg-ui">
12047
- <th className="px-3 py-[11px] text-left font-semibold text-semantic-text-primary border-b border-solid border-semantic-border-layout w-[44%]">
12048
- Feature
12049
- </th>
12050
- <th className="px-3 py-[11px] text-left font-semibold text-semantic-text-primary border-b border-solid border-semantic-border-layout w-[28%]">
12051
- Free
12052
- </th>
12053
- <th className="px-3 py-[11px] text-left font-semibold text-semantic-text-primary border-b border-solid border-semantic-border-layout w-[28%]">
12054
- Rate
12055
- </th>
12043
+ {/* Features label fixed; only the table region scrolls */}
12044
+ <div className="flex min-h-0 flex-1 flex-col gap-2 pt-3 sm:gap-2.5 sm:pt-4">
12045
+ <p className="m-0 shrink-0 text-sm font-semibold leading-none text-semantic-text-primary sm:text-base">
12046
+ Features
12047
+ </p>
12048
+ <div className="min-h-0 flex-1 overflow-y-auto overflow-x-auto rounded border border-solid border-semantic-border-layout">
12049
+ <table className="w-full min-w-0 border-collapse text-sm">
12050
+ <thead>
12051
+ <tr className="bg-semantic-bg-ui">
12052
+ <th className="w-[40%] px-2 py-2 text-left text-xs font-semibold text-semantic-text-primary border-b border-solid border-semantic-border-layout sm:w-[44%] sm:px-3 sm:py-[11px] sm:text-sm">
12053
+ Feature
12054
+ </th>
12055
+ <th className="w-[30%] px-2 py-2 text-left text-xs font-semibold text-semantic-text-primary border-b border-solid border-semantic-border-layout sm:w-[28%] sm:px-3 sm:py-[11px] sm:text-sm">
12056
+ Free
12057
+ </th>
12058
+ <th className="w-[30%] px-2 py-2 text-left text-xs font-semibold text-semantic-text-primary border-b border-solid border-semantic-border-layout sm:w-[28%] sm:px-3 sm:py-[11px] sm:text-sm">
12059
+ Rate
12060
+ </th>
12061
+ </tr>
12062
+ </thead>
12063
+ <tbody>
12064
+ {features.map((feature, index) => (
12065
+ <tr
12066
+ key={feature.name}
12067
+ className={cn(
12068
+ index % 2 === 0
12069
+ ? "bg-semantic-bg-primary"
12070
+ : "bg-semantic-bg-ui"
12071
+ )}
12072
+ >
12073
+ <td className="px-2 py-2 text-xs text-semantic-text-secondary border-b border-solid border-semantic-border-layout sm:px-3 sm:py-[11px] sm:text-sm">
12074
+ <p className="m-0 leading-snug sm:leading-none">{feature.name}</p>
12075
+ </td>
12076
+ <td className="px-2 py-2 text-xs text-semantic-text-secondary border-b border-solid border-semantic-border-layout sm:px-3 sm:py-[11px] sm:text-sm">
12077
+ <p className="m-0 leading-snug sm:leading-none">{feature.free}</p>
12078
+ </td>
12079
+ <td className="px-2 py-2 text-xs text-semantic-text-secondary border-b border-solid border-semantic-border-layout sm:px-3 sm:py-[11px] sm:text-sm">
12080
+ <p className="m-0 leading-snug sm:leading-none">{feature.rate}</p>
12081
+ </td>
12056
12082
  </tr>
12057
- </thead>
12058
- <tbody>
12059
- {features.map((feature, index) => (
12060
- <tr
12061
- key={feature.name}
12062
- className={cn(
12063
- index % 2 === 0
12064
- ? "bg-semantic-bg-primary"
12065
- : "bg-semantic-bg-ui"
12066
- )}
12067
- >
12068
- <td className="px-3 py-[11px] text-semantic-text-secondary border-b border-solid border-semantic-border-layout">
12069
- <p className="m-0 leading-none">{feature.name}</p>
12070
- </td>
12071
- <td className="px-3 py-[11px] text-semantic-text-secondary border-b border-solid border-semantic-border-layout">
12072
- <p className="m-0 leading-none">{feature.free}</p>
12073
- </td>
12074
- <td className="px-3 py-[11px] text-semantic-text-secondary border-b border-solid border-semantic-border-layout">
12075
- <p className="m-0 leading-none">{feature.rate}</p>
12076
- </td>
12077
- </tr>
12078
- ))}
12079
- </tbody>
12080
- </table>
12081
- </div>
12083
+ ))}
12084
+ </tbody>
12085
+ </table>
12082
12086
  </div>
12083
- </DialogDescription>
12087
+ </div>
12084
12088
 
12085
12089
  {/* Footer */}
12086
12090
  {planPrice && (
12087
- <div className="flex items-center px-8 py-4 border-t border-solid border-semantic-border-layout">
12088
- <p className="m-0 text-base text-semantic-text-primary">
12091
+ <div
12092
+ className={cn(
12093
+ "flex shrink-0 items-center border-t border-solid border-semantic-border-layout pt-3 sm:pt-4"
12094
+ )}
12095
+ >
12096
+ <p className="m-0 text-sm text-semantic-text-primary sm:text-base">
12089
12097
  <span className="font-semibold">Plan price </span>
12090
12098
  <span className="font-normal">{planPrice}</span>
12091
12099
  </p>
@@ -12172,11 +12180,11 @@ import { Dialog, DialogContent, DialogDescription, DialogTitle } from "../dialog
12172
12180
  import type { BillingCycleOption, PlanUpgradeModalProps } from "./types";
12173
12181
 
12174
12182
  const modalRootVariants = cva(
12175
- "flex flex-col gap-6 rounded-lg border border-solid border-semantic-border-layout bg-semantic-bg-primary p-9"
12183
+ "flex min-h-0 max-h-[min(90vh,calc(100dvh-2rem))] flex-col gap-4 overflow-y-auto overflow-x-hidden rounded-lg border border-solid border-semantic-border-layout bg-semantic-bg-primary p-3 pt-4 pb-[calc(1rem+env(safe-area-inset-bottom,0px))] sm:gap-6 sm:p-6 sm:pb-[calc(1.5rem+env(safe-area-inset-bottom,0px))] md:gap-8 md:p-9 md:pb-[calc(2.25rem+env(safe-area-inset-bottom,0px))]"
12176
12184
  );
12177
12185
 
12178
12186
  const billingCycleOptionVariants = cva(
12179
- "flex w-full items-center gap-2.5 rounded-lg border border-solid bg-semantic-bg-primary p-3 text-left transition-colors",
12187
+ "flex w-full min-h-[44px] items-center gap-2.5 rounded-lg border border-solid bg-semantic-bg-primary p-3 text-left transition-colors sm:min-h-0",
12180
12188
  {
12181
12189
  variants: {
12182
12190
  selected: {
@@ -12266,12 +12274,12 @@ const PlanUpgradeModal = React.forwardRef(
12266
12274
  <DialogContent
12267
12275
  size="default"
12268
12276
  hideCloseButton
12269
- className="w-full max-w-[480px] border-none bg-transparent p-0 shadow-none"
12277
+ className="min-w-0 w-full max-w-[min(30rem,calc(100vw-1rem-env(safe-area-inset-left,0px)-env(safe-area-inset-right,0px)))] border-none bg-transparent p-0 shadow-none sm:max-w-[min(30rem,calc(100vw-2rem-env(safe-area-inset-left,0px)-env(safe-area-inset-right,0px)))]"
12270
12278
  >
12271
12279
  <div ref={ref} className={cn(modalRootVariants(), className)} {...props}>
12272
- <div className="flex items-start justify-between gap-4">
12273
- <div className="flex flex-col gap-2">
12274
- <DialogTitle className="m-0 text-lg font-semibold leading-normal text-semantic-text-primary">
12280
+ <div className="flex items-start justify-between gap-3 sm:gap-4">
12281
+ <div className="flex min-w-0 flex-1 flex-col gap-2">
12282
+ <DialogTitle className="m-0 break-words text-base font-semibold leading-normal text-semantic-text-primary sm:text-lg">
12275
12283
  {title}
12276
12284
  </DialogTitle>
12277
12285
  <DialogDescription className="m-0 text-sm tracking-[0.035px] text-semantic-text-muted">
@@ -12281,10 +12289,10 @@ const PlanUpgradeModal = React.forwardRef(
12281
12289
  <button
12282
12290
  type="button"
12283
12291
  onClick={handleClose}
12284
- className="shrink-0 text-semantic-text-muted transition-colors hover:text-semantic-text-primary"
12292
+ className="shrink-0 text-semantic-text-muted transition-colors hover:text-semantic-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-border-focus focus-visible:ring-offset-2"
12285
12293
  aria-label="Close plan upgrade modal"
12286
12294
  >
12287
- <X className="size-5" />
12295
+ <X className="size-6" aria-hidden="true" />
12288
12296
  </button>
12289
12297
  </div>
12290
12298
 
@@ -12300,7 +12308,7 @@ const PlanUpgradeModal = React.forwardRef(
12300
12308
  aria-pressed={isSelected}
12301
12309
  >
12302
12310
  <span className={iconContainerVariants()}>{renderOptionIcon(option.icon)}</span>
12303
- <span className="text-sm leading-normal tracking-[0.035px] text-semantic-text-primary">
12311
+ <span className="min-w-0 flex-1 text-left text-sm leading-normal tracking-[0.035px] text-semantic-text-primary">
12304
12312
  {option.label}
12305
12313
  </span>
12306
12314
  </button>
@@ -12308,13 +12316,13 @@ const PlanUpgradeModal = React.forwardRef(
12308
12316
  })}
12309
12317
  </div>
12310
12318
 
12311
- <div className="flex justify-end">
12319
+ <div className="flex justify-stretch sm:justify-end">
12312
12320
  <Button
12313
12321
  variant="default"
12314
12322
  onClick={handleNext}
12315
12323
  disabled={!activeOptionId}
12316
12324
  loading={loading}
12317
- className="min-w-[95px]"
12325
+ className="w-full min-w-0 sm:w-auto sm:min-w-[95px]"
12318
12326
  >
12319
12327
  {nextLabel}
12320
12328
  </Button>
@@ -12421,11 +12429,11 @@ import type {
12421
12429
  } from "./types";
12422
12430
 
12423
12431
  const modalRootVariants = cva(
12424
- "flex flex-col gap-8 rounded-lg border border-solid border-semantic-border-layout bg-semantic-bg-primary p-9"
12432
+ "flex max-h-[min(90vh,calc(100dvh-2rem))] flex-col gap-4 overflow-y-auto rounded-lg border border-solid border-semantic-border-layout bg-semantic-bg-primary p-4 sm:gap-6 sm:p-6 md:gap-8 md:p-9"
12425
12433
  );
12426
12434
 
12427
12435
  const summaryPanelVariants = cva(
12428
- "flex flex-col gap-5 rounded border border-solid border-semantic-border-layout bg-semantic-bg-ui p-4"
12436
+ "flex flex-col gap-4 rounded border border-solid border-semantic-border-layout bg-semantic-bg-ui p-3 sm:gap-5 sm:p-4"
12429
12437
  );
12430
12438
 
12431
12439
  const statusTitleVariants = cva("m-0 text-sm font-semibold leading-5 tracking-[0.014px]", {
@@ -12553,12 +12561,12 @@ const PlanUpgradeSummaryModal = React.forwardRef(
12553
12561
  <DialogContent
12554
12562
  size="default"
12555
12563
  hideCloseButton
12556
- className="w-full max-w-[660px] border-none bg-transparent p-0 shadow-none"
12564
+ className="min-w-0 w-full max-w-[min(41.25rem,calc(100vw-2rem))] border-none bg-transparent p-0 shadow-none"
12557
12565
  >
12558
12566
  <div ref={ref} className={cn(modalRootVariants(), className)} {...props}>
12559
- <div className="flex items-start justify-between gap-4">
12560
- <div className="flex flex-col gap-2">
12561
- <DialogTitle className="m-0 text-lg font-semibold leading-normal text-semantic-text-primary">
12567
+ <div className="flex items-start justify-between gap-3 sm:gap-4">
12568
+ <div className="flex min-w-0 flex-1 flex-col gap-2">
12569
+ <DialogTitle className="m-0 text-base font-semibold leading-normal text-semantic-text-primary sm:text-lg">
12562
12570
  {resolvedTitle}
12563
12571
  </DialogTitle>
12564
12572
  <DialogDescription className="m-0 text-sm tracking-[0.035px] text-semantic-text-muted">
@@ -12568,7 +12576,7 @@ const PlanUpgradeSummaryModal = React.forwardRef(
12568
12576
  <button
12569
12577
  type="button"
12570
12578
  onClick={handleClose}
12571
- className="shrink-0 text-semantic-text-muted transition-colors hover:text-semantic-text-primary"
12579
+ className="shrink-0 text-semantic-text-muted transition-colors hover:text-semantic-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-border-focus focus-visible:ring-offset-2"
12572
12580
  aria-label={closeAriaLabel}
12573
12581
  >
12574
12582
  <X className="size-6" />
@@ -12576,9 +12584,9 @@ const PlanUpgradeSummaryModal = React.forwardRef(
12576
12584
  </div>
12577
12585
 
12578
12586
  <div className={summaryPanelVariants()}>
12579
- <div className="flex items-start gap-4">
12587
+ <div className="flex flex-col gap-3 sm:flex-row sm:items-start sm:gap-4">
12580
12588
  <span className="shrink-0">{getStatusIcon(resolvedTone)}</span>
12581
- <div className="flex flex-col gap-1">
12589
+ <div className="flex min-w-0 flex-col gap-1">
12582
12590
  <p className={statusTitleVariants({ tone: resolvedTone })}>
12583
12591
  {resolvedStatus.title}
12584
12592
  </p>
@@ -12594,33 +12602,43 @@ const PlanUpgradeSummaryModal = React.forwardRef(
12594
12602
  {resolvedRows.map((row) => (
12595
12603
  <div
12596
12604
  key={\`\${row.label}-\${row.value}\`}
12597
- className="flex items-center justify-between gap-6"
12605
+ className="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between sm:gap-6"
12598
12606
  >
12599
- <span className="text-sm tracking-[0.035px] text-semantic-text-secondary">
12607
+ <span className="min-w-0 text-sm tracking-[0.035px] text-semantic-text-secondary">
12600
12608
  {row.label}
12601
12609
  </span>
12602
- <span className="text-sm tracking-[0.035px] text-semantic-text-primary">
12610
+ <span className="min-w-0 shrink-0 text-left text-sm tracking-[0.035px] text-semantic-text-primary sm:text-right">
12603
12611
  {row.value}
12604
12612
  </span>
12605
12613
  </div>
12606
12614
  ))}
12607
12615
  </div>
12608
12616
 
12609
- <div className="flex items-center justify-between gap-6 border-t border-solid border-semantic-border-layout pt-3">
12617
+ <div className="flex flex-col gap-1 border-t border-solid border-semantic-border-layout pt-3 sm:flex-row sm:items-center sm:justify-between sm:gap-6">
12610
12618
  <span className="text-sm font-semibold tracking-[0.014px] text-semantic-text-secondary">
12611
12619
  {totalLabel}
12612
12620
  </span>
12613
- <span className="text-sm font-semibold tracking-[0.014px] text-semantic-text-primary">
12621
+ <span className="text-sm font-semibold tracking-[0.014px] text-semantic-text-primary sm:text-right">
12614
12622
  {resolvedTotalValue}
12615
12623
  </span>
12616
12624
  </div>
12617
12625
  </div>
12618
12626
 
12619
- <div className="flex justify-end gap-2.5">
12620
- <Button variant="outline" onClick={handleCancel}>
12627
+ <div className="flex flex-col-reverse gap-2 sm:flex-row sm:justify-end sm:gap-2.5">
12628
+ <Button
12629
+ variant="outline"
12630
+ onClick={handleCancel}
12631
+ className="w-full sm:w-auto"
12632
+ >
12621
12633
  {cancelLabel}
12622
12634
  </Button>
12623
- <Button variant="primary" onClick={onPrimaryAction} loading={loading} disabled={disabled}>
12635
+ <Button
12636
+ variant="primary"
12637
+ onClick={onPrimaryAction}
12638
+ loading={loading}
12639
+ disabled={disabled}
12640
+ className="w-full sm:w-auto"
12641
+ >
12624
12642
  {resolvedPrimaryActionLabel}
12625
12643
  </Button>
12626
12644
  </div>
@@ -29629,7 +29647,10 @@ var getTailwindConfig = (prefix = "tw-", hasBootstrap = false) => `/** @type {im
29629
29647
  export default {
29630
29648
  darkMode: ["class"],
29631
29649
  prefix: "${prefix}",${hasBootstrap ? `
29632
- important: true, // Required to override Bootstrap styles` : ""}
29650
+ important: true, // Required to override Bootstrap styles
29651
+ corePlugins: {
29652
+ preflight: false, // Disable Tailwind's CSS reset - Bootstrap handles base styles
29653
+ },` : ""}
29633
29654
  content: [
29634
29655
  "./src/components/ui/**/*.{js,ts,jsx,tsx}",
29635
29656
  "./src/components/custom/**/*.{js,ts,jsx,tsx}",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myoperator-ui",
3
- "version": "0.0.229",
3
+ "version": "0.0.231",
4
4
  "description": "CLI for adding myOperator UI components to your project",
5
5
  "type": "module",
6
6
  "exports": "./dist/index.js",