@app-studio/web 0.9.35 → 0.9.36

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.
@@ -19535,6 +19535,404 @@ NavigationMenu.Trigger = NavigationMenuTrigger;
19535
19535
  NavigationMenu.Content = NavigationMenuContent;
19536
19536
  NavigationMenu.Link = NavigationMenuLink;
19537
19537
 
19538
+ var _excluded$X = ["value", "max", "color", "backgroundColor", "height", "radius", "views", "themeMode"];
19539
+ var ProgressBarView = _ref => {
19540
+ var {
19541
+ value = 0,
19542
+ max = 100,
19543
+ color = 'theme.primary',
19544
+ backgroundColor = 'color.gray.200',
19545
+ height = 8,
19546
+ radius = 4,
19547
+ views,
19548
+ themeMode: elementMode
19549
+ } = _ref,
19550
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$X);
19551
+ var {
19552
+ getColor,
19553
+ themeMode
19554
+ } = appStudio.useTheme();
19555
+ var currentMode = elementMode ? elementMode : themeMode;
19556
+ var percentage = Math.min(100, Math.max(0, value / max * 100));
19557
+ var trackColor = getColor(backgroundColor, {
19558
+ themeMode: currentMode
19559
+ });
19560
+ var barColor = getColor(color, {
19561
+ themeMode: currentMode
19562
+ });
19563
+ return /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
19564
+ role: "progressbar",
19565
+ "aria-valuenow": value,
19566
+ "aria-valuemin": 0,
19567
+ "aria-valuemax": max,
19568
+ width: "100%",
19569
+ height: height,
19570
+ backgroundColor: trackColor,
19571
+ borderRadius: radius,
19572
+ overflow: "hidden"
19573
+ }, views == null ? void 0 : views.container, props), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
19574
+ width: percentage + "%",
19575
+ height: "100%",
19576
+ backgroundColor: barColor,
19577
+ borderRadius: radius
19578
+ }, views == null ? void 0 : views.bar)));
19579
+ };
19580
+
19581
+ /**
19582
+ * ProgressBar component displays completion status of a task or process.
19583
+ */
19584
+ var ProgressBarComponent = props => (/*#__PURE__*/React__default.createElement(ProgressBarView, Object.assign({}, props)));
19585
+ var ProgressBar = ProgressBarComponent;
19586
+
19587
+ var getThemes$2 = themeMode => {
19588
+ return {
19589
+ default: {
19590
+ indicator: {
19591
+ backgroundColor: 'color.gray.400'
19592
+ },
19593
+ label: {
19594
+ color: 'color.gray.700'
19595
+ }
19596
+ },
19597
+ info: {
19598
+ indicator: {
19599
+ backgroundColor: 'color.blue.500'
19600
+ },
19601
+ label: {
19602
+ color: 'color.blue.700'
19603
+ }
19604
+ },
19605
+ success: {
19606
+ indicator: {
19607
+ backgroundColor: 'color.green.500'
19608
+ },
19609
+ label: {
19610
+ color: 'color.green.700'
19611
+ }
19612
+ },
19613
+ warning: {
19614
+ indicator: {
19615
+ backgroundColor: 'color.orange.500'
19616
+ },
19617
+ label: {
19618
+ color: 'color.orange.700'
19619
+ }
19620
+ },
19621
+ error: {
19622
+ indicator: {
19623
+ backgroundColor: 'color.red.500'
19624
+ },
19625
+ label: {
19626
+ color: 'color.red.700'
19627
+ }
19628
+ }
19629
+ };
19630
+ };
19631
+
19632
+ var _excluded$Y = ["label", "status", "views", "themeMode"];
19633
+ var StatusIndicatorView = _ref => {
19634
+ var {
19635
+ label,
19636
+ status = 'default',
19637
+ views,
19638
+ themeMode: elementMode
19639
+ } = _ref,
19640
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
19641
+ var {
19642
+ themeMode
19643
+ } = appStudio.useTheme();
19644
+ var themes = getThemes$2();
19645
+ return /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19646
+ alignItems: "center",
19647
+ gap: 8,
19648
+ role: "status-indicator"
19649
+ }, views == null ? void 0 : views.container, props), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
19650
+ role: "status-dot",
19651
+ width: "8px",
19652
+ height: "8px",
19653
+ borderRadius: "50%"
19654
+ }, themes[status].indicator, views == null ? void 0 : views.indicator)), label && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
19655
+ role: "status-label",
19656
+ fontSize: "14px",
19657
+ lineHeight: "20px"
19658
+ }, themes[status].label, views == null ? void 0 : views.label), label)));
19659
+ };
19660
+
19661
+ var StatusIndicator = props => (/*#__PURE__*/React__default.createElement(StatusIndicatorView, Object.assign({}, props)));
19662
+
19663
+ var getOKRTheme = mode => {
19664
+ var isDark = mode === 'dark';
19665
+ return {
19666
+ container: {
19667
+ width: '100%',
19668
+ gap: 16
19669
+ },
19670
+ objectiveCard: {
19671
+ backgroundColor: isDark ? 'rgba(15, 23, 42, 0.6)' : 'color.white',
19672
+ borderColor: isDark ? 'rgba(148, 163, 184, 0.24)' : 'color.gray.200',
19673
+ borderWidth: '1px',
19674
+ borderStyle: 'solid',
19675
+ borderRadius: 16,
19676
+ padding: 24,
19677
+ gap: 20
19678
+ },
19679
+ tag: {
19680
+ display: 'inline-flex',
19681
+ alignItems: 'center',
19682
+ padding: '4px 10px',
19683
+ borderRadius: 999,
19684
+ backgroundColor: isDark ? 'rgba(148, 163, 184, 0.16)' : 'color.gray.100'
19685
+ },
19686
+ keyResultItem: {
19687
+ padding: 16,
19688
+ borderRadius: 12,
19689
+ borderWidth: '1px',
19690
+ borderStyle: 'solid',
19691
+ borderColor: isDark ? 'rgba(148, 163, 184, 0.18)' : 'color.gray.200',
19692
+ backgroundColor: isDark ? 'rgba(15, 23, 42, 0.35)' : 'color.gray.50',
19693
+ gap: 12
19694
+ },
19695
+ divider: {
19696
+ height: 1,
19697
+ backgroundColor: isDark ? 'rgba(148, 163, 184, 0.24)' : 'color.gray.200',
19698
+ width: '100%'
19699
+ }
19700
+ };
19701
+ };
19702
+ var STATUS_METADATA = {
19703
+ notStarted: {
19704
+ indicator: 'info',
19705
+ label: 'Not started'
19706
+ },
19707
+ onTrack: {
19708
+ indicator: 'success',
19709
+ label: 'On track'
19710
+ },
19711
+ atRisk: {
19712
+ indicator: 'warning',
19713
+ label: 'At risk'
19714
+ },
19715
+ offTrack: {
19716
+ indicator: 'error',
19717
+ label: 'Off track'
19718
+ },
19719
+ achieved: {
19720
+ indicator: 'success',
19721
+ label: 'Achieved'
19722
+ }
19723
+ };
19724
+ var deriveStatusFromProgress = progress => {
19725
+ if (progress >= 100) {
19726
+ return 'achieved';
19727
+ }
19728
+ if (progress >= 70) {
19729
+ return 'onTrack';
19730
+ }
19731
+ if (progress >= 40) {
19732
+ return 'atRisk';
19733
+ }
19734
+ if (progress > 0) {
19735
+ return 'offTrack';
19736
+ }
19737
+ return 'notStarted';
19738
+ };
19739
+ var clampProgress = value => {
19740
+ if (typeof value !== 'number' || Number.isNaN(value)) {
19741
+ return 0;
19742
+ }
19743
+ return Math.max(0, Math.min(100, Math.round(value)));
19744
+ };
19745
+
19746
+ var formatPercentage = value => value + "%";
19747
+ var formatConfidence = confidence => {
19748
+ if (!confidence) {
19749
+ return undefined;
19750
+ }
19751
+ return confidence.charAt(0).toUpperCase() + confidence.slice(1);
19752
+ };
19753
+ var getObjectiveProgress = objective => {
19754
+ if (typeof objective.progress === 'number') {
19755
+ return clampProgress(objective.progress);
19756
+ }
19757
+ if (!objective.keyResults.length) {
19758
+ return 0;
19759
+ }
19760
+ var total = objective.keyResults.reduce((acc, keyResult) => {
19761
+ var _keyResult$progress;
19762
+ return acc + ((_keyResult$progress = keyResult.progress) != null ? _keyResult$progress : 0);
19763
+ }, 0);
19764
+ return clampProgress(total / objective.keyResults.length);
19765
+ };
19766
+ var renderStatusIndicator = (status, themeMode, views) => {
19767
+ var metadata = STATUS_METADATA[status];
19768
+ return /*#__PURE__*/React__default.createElement(StatusIndicator, {
19769
+ themeMode: themeMode,
19770
+ status: metadata.indicator,
19771
+ label: metadata.label,
19772
+ views: views
19773
+ });
19774
+ };
19775
+ var OKRView = _ref => {
19776
+ var {
19777
+ objectives,
19778
+ themeMode: elementMode,
19779
+ views,
19780
+ onKeyResultClick,
19781
+ renderObjectiveFooter,
19782
+ renderKeyResultFooter
19783
+ } = _ref;
19784
+ var {
19785
+ themeMode
19786
+ } = appStudio.useTheme();
19787
+ var currentMode = elementMode || themeMode || 'light';
19788
+ var theme = getOKRTheme(currentMode);
19789
+ var secondaryTextColor = currentMode === 'dark' ? 'color.gray.200' : 'color.gray.600';
19790
+ var subtleTextColor = currentMode === 'dark' ? 'color.gray.300' : 'color.gray.500';
19791
+ var tagTextColor = currentMode === 'dark' ? 'color.gray.100' : 'color.gray.700';
19792
+ return /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({}, theme.container, views == null ? void 0 : views.container), objectives.map(objective => {
19793
+ var _objective$status, _objective$tags, _views$objectiveProgr, _views$objectiveProgr2, _views$objectiveProgr3, _views$objectiveProgr4;
19794
+ var objectiveProgress = getObjectiveProgress(objective);
19795
+ var objectiveStatus = (_objective$status = objective.status) != null ? _objective$status : deriveStatusFromProgress(objectiveProgress);
19796
+ var objectiveFooter = renderObjectiveFooter == null ? void 0 : renderObjectiveFooter(objective);
19797
+ return /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
19798
+ key: objective.id
19799
+ }, theme.objectiveCard, views == null ? void 0 : views.objectiveCard), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19800
+ justifyContent: "space-between",
19801
+ alignItems: "flex-start",
19802
+ flexWrap: "wrap",
19803
+ gap: 16
19804
+ }, views == null ? void 0 : views.objectiveHeader), /*#__PURE__*/React__default.createElement(appStudio.Vertical, {
19805
+ gap: 10,
19806
+ minWidth: 240
19807
+ }, /*#__PURE__*/React__default.createElement(Text, Object.assign({
19808
+ size: "lg",
19809
+ weight: "semiBold"
19810
+ }, views == null ? void 0 : views.objectiveTitle), objective.title), objective.description && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
19811
+ size: "sm",
19812
+ color: secondaryTextColor
19813
+ }, views == null ? void 0 : views.objectiveDescription), objective.description)), (_objective$tags = objective.tags) != null && _objective$tags.length ? (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19814
+ gap: 8,
19815
+ flexWrap: "wrap"
19816
+ }, views == null ? void 0 : views.objectiveTags), objective.tags.map(tag => (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
19817
+ key: tag
19818
+ }, theme.tag, views == null ? void 0 : views.tag), /*#__PURE__*/React__default.createElement(Text, Object.assign({
19819
+ size: "xs",
19820
+ weight: "medium",
19821
+ color: tagTextColor
19822
+ }, views == null ? void 0 : views.tagText), tag)))))) : null), /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
19823
+ gap: 8,
19824
+ alignItems: "flex-end",
19825
+ minWidth: 160
19826
+ }, views == null ? void 0 : views.objectiveMeta), objective.owner && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
19827
+ size: "sm",
19828
+ color: secondaryTextColor
19829
+ }, views == null ? void 0 : views.objectiveOwner), "Owner: ", objective.owner)), objective.timeframe && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
19830
+ size: "sm",
19831
+ color: subtleTextColor
19832
+ }, views == null ? void 0 : views.objectiveTimeframe), objective.timeframe)), renderStatusIndicator(objectiveStatus, currentMode, views == null ? void 0 : views.objectiveStatus))), /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
19833
+ gap: 8
19834
+ }, views == null ? void 0 : views.objectiveProgressSection), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
19835
+ justifyContent: "space-between",
19836
+ alignItems: "center"
19837
+ }, /*#__PURE__*/React__default.createElement(Text, Object.assign({
19838
+ size: "sm",
19839
+ color: secondaryTextColor
19840
+ }, views == null ? void 0 : views.objectiveProgressLabel), "Progress"), /*#__PURE__*/React__default.createElement(Text, Object.assign({
19841
+ size: "sm",
19842
+ weight: "semiBold"
19843
+ }, views == null ? void 0 : views.objectiveProgressValue), formatPercentage(objectiveProgress))), /*#__PURE__*/React__default.createElement(ProgressBar, {
19844
+ value: objectiveProgress,
19845
+ max: 100,
19846
+ views: {
19847
+ container: Object.assign({
19848
+ width: '100%'
19849
+ }, (_views$objectiveProgr = views == null || (_views$objectiveProgr2 = views.objectiveProgressBar) == null ? void 0 : _views$objectiveProgr2.container) != null ? _views$objectiveProgr : {}),
19850
+ bar: Object.assign({}, (_views$objectiveProgr3 = views == null || (_views$objectiveProgr4 = views.objectiveProgressBar) == null ? void 0 : _views$objectiveProgr4.bar) != null ? _views$objectiveProgr3 : {})
19851
+ }
19852
+ })), /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
19853
+ gap: 16
19854
+ }, views == null ? void 0 : views.keyResultList), objective.keyResults.map((keyResult, index) => {
19855
+ var _keyResult$status, _keyResult$tags, _views$keyResultProgr, _views$keyResultProgr2, _views$keyResultProgr3, _views$keyResultProgr4;
19856
+ var progress = clampProgress(keyResult.progress);
19857
+ var keyResultStatus = (_keyResult$status = keyResult.status) != null ? _keyResult$status : deriveStatusFromProgress(progress);
19858
+ var keyResultFooter = renderKeyResultFooter == null ? void 0 : renderKeyResultFooter(keyResult, objective);
19859
+ var showDivider = index < objective.keyResults.length - 1;
19860
+ return /*#__PURE__*/React__default.createElement(appStudio.Vertical, {
19861
+ key: keyResult.id,
19862
+ gap: 12
19863
+ }, /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
19864
+ role: onKeyResultClick ? 'button' : undefined,
19865
+ cursor: onKeyResultClick ? 'pointer' : undefined,
19866
+ onClick: onKeyResultClick ? () => onKeyResultClick(keyResult, objective) : undefined
19867
+ }, theme.keyResultItem, views == null ? void 0 : views.keyResultItem), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19868
+ justifyContent: "space-between",
19869
+ alignItems: "flex-start",
19870
+ flexWrap: "wrap",
19871
+ gap: 16
19872
+ }, views == null ? void 0 : views.keyResultHeader), /*#__PURE__*/React__default.createElement(appStudio.Vertical, {
19873
+ gap: 8,
19874
+ minWidth: 220
19875
+ }, /*#__PURE__*/React__default.createElement(Text, Object.assign({
19876
+ size: "md",
19877
+ weight: "medium"
19878
+ }, views == null ? void 0 : views.keyResultTitle), keyResult.title), keyResult.description && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
19879
+ size: "sm",
19880
+ color: secondaryTextColor
19881
+ }, views == null ? void 0 : views.keyResultDescription), keyResult.description)), (keyResult.metric || keyResult.target || keyResult.current || keyResult.confidence || keyResult.lastUpdated) && (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19882
+ gap: 12,
19883
+ flexWrap: "wrap"
19884
+ }, views == null ? void 0 : views.keyResultMeta), keyResult.metric && (/*#__PURE__*/React__default.createElement(Text, {
19885
+ size: "xs",
19886
+ color: secondaryTextColor
19887
+ }, "Metric: ", keyResult.metric)), keyResult.current && (/*#__PURE__*/React__default.createElement(Text, {
19888
+ size: "xs",
19889
+ color: secondaryTextColor
19890
+ }, "Current: ", keyResult.current)), keyResult.target && (/*#__PURE__*/React__default.createElement(Text, {
19891
+ size: "xs",
19892
+ color: secondaryTextColor
19893
+ }, "Target: ", keyResult.target)), keyResult.confidence && (/*#__PURE__*/React__default.createElement(Text, {
19894
+ size: "xs",
19895
+ color: secondaryTextColor
19896
+ }, "Confidence:", ' ', formatConfidence(keyResult.confidence))), keyResult.lastUpdated && (/*#__PURE__*/React__default.createElement(Text, {
19897
+ size: "xs",
19898
+ color: subtleTextColor
19899
+ }, "Updated: ", keyResult.lastUpdated)))), (_keyResult$tags = keyResult.tags) != null && _keyResult$tags.length ? (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19900
+ gap: 8,
19901
+ flexWrap: "wrap"
19902
+ }, views == null ? void 0 : views.keyResultTags), keyResult.tags.map(tag => (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
19903
+ key: tag
19904
+ }, theme.tag, views == null ? void 0 : views.keyResultTag), /*#__PURE__*/React__default.createElement(Text, Object.assign({
19905
+ size: "xs",
19906
+ weight: "medium",
19907
+ color: tagTextColor
19908
+ }, views == null ? void 0 : views.keyResultTagText), tag)))))) : null), /*#__PURE__*/React__default.createElement(appStudio.Vertical, {
19909
+ gap: 8,
19910
+ alignItems: "flex-end"
19911
+ }, keyResult.owner && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
19912
+ size: "xs",
19913
+ color: secondaryTextColor
19914
+ }, views == null ? void 0 : views.keyResultOwner), "Owner: ", keyResult.owner)), renderStatusIndicator(keyResultStatus, currentMode, views == null ? void 0 : views.keyResultStatus))), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
19915
+ alignItems: "center",
19916
+ gap: 12
19917
+ }, views == null ? void 0 : views.keyResultProgressSection), /*#__PURE__*/React__default.createElement(ProgressBar, {
19918
+ value: progress,
19919
+ max: 100,
19920
+ views: {
19921
+ container: Object.assign({
19922
+ width: '100%'
19923
+ }, (_views$keyResultProgr = views == null || (_views$keyResultProgr2 = views.keyResultProgressBar) == null ? void 0 : _views$keyResultProgr2.container) != null ? _views$keyResultProgr : {}),
19924
+ bar: Object.assign({}, (_views$keyResultProgr3 = views == null || (_views$keyResultProgr4 = views.keyResultProgressBar) == null ? void 0 : _views$keyResultProgr4.bar) != null ? _views$keyResultProgr3 : {})
19925
+ }
19926
+ }), /*#__PURE__*/React__default.createElement(Text, Object.assign({
19927
+ size: "xs",
19928
+ weight: "semiBold"
19929
+ }, views == null ? void 0 : views.keyResultProgressValue), formatPercentage(progress))), keyResultFooter ? (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, views == null ? void 0 : views.footer), keyResultFooter)) : null), showDivider ? /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, theme.divider)) : null);
19930
+ })), objectiveFooter ? (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, views == null ? void 0 : views.footer), objectiveFooter)) : null);
19931
+ }));
19932
+ };
19933
+
19934
+ var OKR = props => /*#__PURE__*/React__default.createElement(OKRView, Object.assign({}, props));
19935
+
19538
19936
  var defaultStyles = {};
19539
19937
  // Create a context that includes both styles and the onClick function
19540
19938
  var TableContext = /*#__PURE__*/React.createContext({
@@ -20317,7 +20715,7 @@ var HighlightStyles = {
20317
20715
  })
20318
20716
  };
20319
20717
 
20320
- var _excluded$X = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
20718
+ var _excluded$Z = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
20321
20719
  /**
20322
20720
  * A component that creates a typewriter effect for text
20323
20721
  */
@@ -20331,7 +20729,7 @@ var TypewriterEffect = _ref => {
20331
20729
  cursorColor = 'currentColor',
20332
20730
  textStyle
20333
20731
  } = _ref,
20334
- props = _objectWithoutPropertiesLoose(_ref, _excluded$X);
20732
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
20335
20733
  // Convert text to array if it's a string
20336
20734
  var textArray = Array.isArray(text) ? text : [text];
20337
20735
  // State for the currently displayed text
@@ -20398,7 +20796,7 @@ var TypewriterEffect = _ref => {
20398
20796
  }))))));
20399
20797
  };
20400
20798
 
20401
- var _excluded$Y = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "responsive", "centered", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration"];
20799
+ var _excluded$_ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "responsive", "centered", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration"];
20402
20800
  function escapeRegExp(string) {
20403
20801
  return string.replace(/[.*+?^${}()|[\\]\\/g, '\\$&');
20404
20802
  }
@@ -20420,7 +20818,7 @@ var TitleView = _ref => {
20420
20818
  highlightTypewriter: propHighlightTypewriter = false,
20421
20819
  highlightTypewriterDuration = 3000
20422
20820
  } = _ref,
20423
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
20821
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
20424
20822
  var {
20425
20823
  ref,
20426
20824
  inView
@@ -20695,7 +21093,7 @@ var getToggleVariants = (color, isLight) => ({
20695
21093
  }
20696
21094
  });
20697
21095
 
20698
- var _excluded$Z = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
21096
+ var _excluded$$ = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
20699
21097
  var ToggleView = _ref => {
20700
21098
  var _ref2;
20701
21099
  var {
@@ -20715,7 +21113,7 @@ var ToggleView = _ref => {
20715
21113
  // 2nd candidate for main color
20716
21114
  themeMode: elementMode
20717
21115
  } = _ref,
20718
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
21116
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
20719
21117
  /* theme helpers */
20720
21118
  var {
20721
21119
  getColor,
@@ -20759,7 +21157,7 @@ var ToggleView = _ref => {
20759
21157
  }, props, views == null ? void 0 : views.container), children);
20760
21158
  };
20761
21159
 
20762
- var _excluded$_ = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
21160
+ var _excluded$10 = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
20763
21161
  // Destructuring properties from ToggleProps to be used within the ToggleComponent.
20764
21162
  var ToggleComponent = _ref => {
20765
21163
  var {
@@ -20771,7 +21169,7 @@ var ToggleComponent = _ref => {
20771
21169
  isToggled = false,
20772
21170
  onToggle
20773
21171
  } = _ref,
20774
- props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
21172
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
20775
21173
  // Initializing toggle state and set state functions using the custom hook useToggleState.
20776
21174
  var {
20777
21175
  isHovered,
@@ -21106,7 +21504,7 @@ var DropdownMenuItemStates = {
21106
21504
  }
21107
21505
  };
21108
21506
 
21109
- var _excluded$$ = ["children", "views"],
21507
+ var _excluded$11 = ["children", "views"],
21110
21508
  _excluded2$f = ["items", "side", "align", "views"],
21111
21509
  _excluded3$9 = ["item", "views"],
21112
21510
  _excluded4$8 = ["views"],
@@ -21147,7 +21545,7 @@ var DropdownMenuTrigger = _ref2 => {
21147
21545
  children,
21148
21546
  views
21149
21547
  } = _ref2,
21150
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$$);
21548
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$11);
21151
21549
  var {
21152
21550
  isOpen,
21153
21551
  setIsOpen,
@@ -21400,7 +21798,7 @@ var DropdownMenuView = _ref6 => {
21400
21798
  }));
21401
21799
  };
21402
21800
 
21403
- var _excluded$10 = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
21801
+ var _excluded$12 = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
21404
21802
  /**
21405
21803
  * DropdownMenu component for displaying a menu when clicking on a trigger element.
21406
21804
  */
@@ -21415,7 +21813,7 @@ var DropdownMenuComponent = _ref => {
21415
21813
  defaultOpen = false,
21416
21814
  views
21417
21815
  } = _ref,
21418
- props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
21816
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
21419
21817
  var {
21420
21818
  isOpen,
21421
21819
  setIsOpen,
@@ -21829,7 +22227,7 @@ var DefaultColorPalette$1 = [
21829
22227
  category: 'neutral'
21830
22228
  }];
21831
22229
 
21832
- var _excluded$11 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "predefinedColors", "showCustomInput", "showRecentColors", "isOpen", "selectedColor", "recentColors", "customColor", "handleToggle", "handleColorSelect", "handleCustomColorChange", "handleCustomColorSubmit", "triggerRef", "dropdownRef"];
22230
+ var _excluded$13 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "predefinedColors", "showCustomInput", "showRecentColors", "isOpen", "selectedColor", "recentColors", "customColor", "handleToggle", "handleColorSelect", "handleCustomColorChange", "handleCustomColorSubmit", "triggerRef", "dropdownRef"];
21833
22231
  var ColorPickerView = _ref => {
21834
22232
  var {
21835
22233
  // Basic props
@@ -21864,7 +22262,7 @@ var ColorPickerView = _ref => {
21864
22262
  dropdownRef
21865
22263
  // Other props
21866
22264
  } = _ref,
21867
- props = _objectWithoutPropertiesLoose(_ref, _excluded$11);
22265
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
21868
22266
  var {
21869
22267
  getColor
21870
22268
  } = appStudio.useTheme();
@@ -24194,7 +24592,7 @@ var useEmojiPickerState = props => {
24194
24592
  };
24195
24593
  };
24196
24594
 
24197
- var _excluded$12 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "showSearch", "showCategories", "showRecentEmojis", "enabledCategories", "isOpen", "selectedEmoji", "recentEmojis", "searchQuery", "activeCategory", "filteredEmojis", "handleToggle", "handleEmojiSelect", "handleSearchChange", "handleCategoryChange", "triggerRef", "dropdownRef"];
24595
+ var _excluded$14 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "showSearch", "showCategories", "showRecentEmojis", "enabledCategories", "isOpen", "selectedEmoji", "recentEmojis", "searchQuery", "activeCategory", "filteredEmojis", "handleToggle", "handleEmojiSelect", "handleSearchChange", "handleCategoryChange", "triggerRef", "dropdownRef"];
24198
24596
  var EmojiPickerView = _ref => {
24199
24597
  var {
24200
24598
  // Basic props
@@ -24232,7 +24630,7 @@ var EmojiPickerView = _ref => {
24232
24630
  dropdownRef
24233
24631
  // Other props
24234
24632
  } = _ref,
24235
- props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
24633
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$14);
24236
24634
  var {
24237
24635
  getColor
24238
24636
  } = appStudio.useTheme();
@@ -24421,7 +24819,7 @@ var MenubarItemStates = {
24421
24819
  }
24422
24820
  };
24423
24821
 
24424
- var _excluded$13 = ["children", "orientation", "size", "variant", "views"];
24822
+ var _excluded$15 = ["children", "orientation", "size", "variant", "views"];
24425
24823
  // Create context for the Menubar
24426
24824
  var MenubarContext = /*#__PURE__*/React.createContext({
24427
24825
  activeMenuId: null,
@@ -24458,7 +24856,7 @@ var MenubarRoot = _ref2 => {
24458
24856
  variant = 'default',
24459
24857
  views
24460
24858
  } = _ref2,
24461
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$13);
24859
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$15);
24462
24860
  var Container = orientation === 'horizontal' ? appStudio.Horizontal : appStudio.Vertical;
24463
24861
  return /*#__PURE__*/React__default.createElement(Container, Object.assign({
24464
24862
  role: "menubar",
@@ -24778,7 +25176,7 @@ var MenubarView = _ref8 => {
24778
25176
  })))))));
24779
25177
  };
24780
25178
 
24781
- var _excluded$14 = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
25179
+ var _excluded$16 = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
24782
25180
  /**
24783
25181
  * Menubar component for creating horizontal or vertical menu bars with dropdown menus.
24784
25182
  */
@@ -24792,7 +25190,7 @@ var MenubarComponent = _ref => {
24792
25190
  defaultOpenMenuId = null,
24793
25191
  views
24794
25192
  } = _ref,
24795
- props = _objectWithoutPropertiesLoose(_ref, _excluded$14);
25193
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$16);
24796
25194
  var {
24797
25195
  activeMenuId,
24798
25196
  setActiveMenuId,
@@ -24974,7 +25372,7 @@ var DisabledButtonStyles = {
24974
25372
  }
24975
25373
  };
24976
25374
 
24977
- var _excluded$15 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
25375
+ var _excluded$17 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
24978
25376
  var PaginationView = _ref => {
24979
25377
  var {
24980
25378
  currentPage,
@@ -25005,7 +25403,7 @@ var PaginationView = _ref => {
25005
25403
  visiblePageNumbers,
25006
25404
  views
25007
25405
  } = _ref,
25008
- props = _objectWithoutPropertiesLoose(_ref, _excluded$15);
25406
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$17);
25009
25407
  var handlePageChange = page => {
25010
25408
  if (page < 1 || page > totalPages || page === currentPage) {
25011
25409
  return;
@@ -25124,7 +25522,7 @@ var PaginationView = _ref => {
25124
25522
  }, option.label))))));
25125
25523
  };
25126
25524
 
25127
- var _excluded$16 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
25525
+ var _excluded$18 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
25128
25526
  /**
25129
25527
  * Pagination component for navigating through pages of content.
25130
25528
  */
@@ -25145,7 +25543,7 @@ var PaginationComponent = _ref => {
25145
25543
  shape = 'rounded',
25146
25544
  views
25147
25545
  } = _ref,
25148
- props = _objectWithoutPropertiesLoose(_ref, _excluded$16);
25546
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
25149
25547
  var {
25150
25548
  visiblePageNumbers
25151
25549
  } = usePaginationState(currentPage, totalPages, maxPageButtons);
@@ -25169,55 +25567,6 @@ var PaginationComponent = _ref => {
25169
25567
  };
25170
25568
  var Pagination = PaginationComponent;
25171
25569
 
25172
- var _excluded$17 = ["value", "max", "color", "backgroundColor", "height", "radius", "views", "themeMode"];
25173
- var ProgressBarView = _ref => {
25174
- var {
25175
- value = 0,
25176
- max = 100,
25177
- color = 'theme.primary',
25178
- backgroundColor = 'color.gray.200',
25179
- height = 8,
25180
- radius = 4,
25181
- views,
25182
- themeMode: elementMode
25183
- } = _ref,
25184
- props = _objectWithoutPropertiesLoose(_ref, _excluded$17);
25185
- var {
25186
- getColor,
25187
- themeMode
25188
- } = appStudio.useTheme();
25189
- var currentMode = elementMode ? elementMode : themeMode;
25190
- var percentage = Math.min(100, Math.max(0, value / max * 100));
25191
- var trackColor = getColor(backgroundColor, {
25192
- themeMode: currentMode
25193
- });
25194
- var barColor = getColor(color, {
25195
- themeMode: currentMode
25196
- });
25197
- return /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
25198
- role: "progressbar",
25199
- "aria-valuenow": value,
25200
- "aria-valuemin": 0,
25201
- "aria-valuemax": max,
25202
- width: "100%",
25203
- height: height,
25204
- backgroundColor: trackColor,
25205
- borderRadius: radius,
25206
- overflow: "hidden"
25207
- }, views == null ? void 0 : views.container, props), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
25208
- width: percentage + "%",
25209
- height: "100%",
25210
- backgroundColor: barColor,
25211
- borderRadius: radius
25212
- }, views == null ? void 0 : views.bar)));
25213
- };
25214
-
25215
- /**
25216
- * ProgressBar component displays completion status of a task or process.
25217
- */
25218
- var ProgressBarComponent = props => (/*#__PURE__*/React__default.createElement(ProgressBarView, Object.assign({}, props)));
25219
- var ProgressBar = ProgressBarComponent;
25220
-
25221
25570
  /**
25222
25571
  * Separator Styles
25223
25572
  *
@@ -25271,7 +25620,7 @@ var DefaultSeparatorStyles = {
25271
25620
  }
25272
25621
  };
25273
25622
 
25274
- var _excluded$18 = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
25623
+ var _excluded$19 = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
25275
25624
  var SeparatorView = _ref => {
25276
25625
  var {
25277
25626
  orientation = 'horizontal',
@@ -25283,7 +25632,7 @@ var SeparatorView = _ref => {
25283
25632
  decorative = false,
25284
25633
  views
25285
25634
  } = _ref,
25286
- props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
25635
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$19);
25287
25636
  // Access theme if needed for future enhancements
25288
25637
  var {
25289
25638
  themeMode
@@ -25351,7 +25700,7 @@ var SeparatorComponent = props => {
25351
25700
  var Separator = SeparatorComponent;
25352
25701
  var Divider = SeparatorComponent;
25353
25702
 
25354
- var _excluded$19 = ["isSupported", "isSharing", "onShare", "label", "children", "icon", "size", "isDisabled", "isLoading", "iconPosition", "disableWhenUnsupported"];
25703
+ var _excluded$1a = ["isSupported", "isSharing", "onShare", "label", "children", "icon", "size", "isDisabled", "isLoading", "iconPosition", "disableWhenUnsupported"];
25355
25704
  var ICON_SIZE_MAP = {
25356
25705
  xs: 12,
25357
25706
  sm: 14,
@@ -25374,7 +25723,7 @@ var ShareButtonView = _ref => {
25374
25723
  iconPosition,
25375
25724
  disableWhenUnsupported = true
25376
25725
  } = _ref,
25377
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$19);
25726
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1a);
25378
25727
  var resolvedSize = size != null ? size : 'md';
25379
25728
  var resolvedIcon = icon != null ? icon : (/*#__PURE__*/React__default.createElement(ShareIcon, {
25380
25729
  widthHeight: ICON_SIZE_MAP[resolvedSize],
@@ -25476,14 +25825,14 @@ var useShareButton = props => {
25476
25825
  };
25477
25826
  };
25478
25827
 
25479
- var _excluded$1a = ["shareData", "onShareStart", "onShareSuccess", "onShareCancel", "onShareError", "onUnsupported", "onClick"];
25828
+ var _excluded$1b = ["shareData", "onShareStart", "onShareSuccess", "onShareCancel", "onShareError", "onUnsupported", "onClick"];
25480
25829
  var ShareButtonComponent = props => {
25481
25830
  var {
25482
25831
  isSupported,
25483
25832
  isSharing,
25484
25833
  handleShare
25485
25834
  } = useShareButton(props);
25486
- var viewProps = _objectWithoutPropertiesLoose(props, _excluded$1a);
25835
+ var viewProps = _objectWithoutPropertiesLoose(props, _excluded$1b);
25487
25836
  return /*#__PURE__*/React__default.createElement(ShareButtonView, Object.assign({}, viewProps, {
25488
25837
  isSupported: isSupported,
25489
25838
  isSharing: isSharing,
@@ -25492,82 +25841,6 @@ var ShareButtonComponent = props => {
25492
25841
  };
25493
25842
  var ShareButton = ShareButtonComponent;
25494
25843
 
25495
- var getThemes$2 = themeMode => {
25496
- return {
25497
- default: {
25498
- indicator: {
25499
- backgroundColor: 'color.gray.400'
25500
- },
25501
- label: {
25502
- color: 'color.gray.700'
25503
- }
25504
- },
25505
- info: {
25506
- indicator: {
25507
- backgroundColor: 'color.blue.500'
25508
- },
25509
- label: {
25510
- color: 'color.blue.700'
25511
- }
25512
- },
25513
- success: {
25514
- indicator: {
25515
- backgroundColor: 'color.green.500'
25516
- },
25517
- label: {
25518
- color: 'color.green.700'
25519
- }
25520
- },
25521
- warning: {
25522
- indicator: {
25523
- backgroundColor: 'color.orange.500'
25524
- },
25525
- label: {
25526
- color: 'color.orange.700'
25527
- }
25528
- },
25529
- error: {
25530
- indicator: {
25531
- backgroundColor: 'color.red.500'
25532
- },
25533
- label: {
25534
- color: 'color.red.700'
25535
- }
25536
- }
25537
- };
25538
- };
25539
-
25540
- var _excluded$1b = ["label", "status", "views", "themeMode"];
25541
- var StatusIndicatorView = _ref => {
25542
- var {
25543
- label,
25544
- status = 'default',
25545
- views,
25546
- themeMode: elementMode
25547
- } = _ref,
25548
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1b);
25549
- var {
25550
- themeMode
25551
- } = appStudio.useTheme();
25552
- var themes = getThemes$2();
25553
- return /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
25554
- alignItems: "center",
25555
- gap: 8,
25556
- role: "status-indicator"
25557
- }, views == null ? void 0 : views.container, props), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
25558
- role: "status-dot",
25559
- width: "8px",
25560
- height: "8px",
25561
- borderRadius: "50%"
25562
- }, themes[status].indicator, views == null ? void 0 : views.indicator)), label && (/*#__PURE__*/React__default.createElement(Text, Object.assign({
25563
- role: "status-label",
25564
- fontSize: "14px",
25565
- lineHeight: "20px"
25566
- }, themes[status].label, views == null ? void 0 : views.label), label)));
25567
- };
25568
-
25569
- var StatusIndicator = props => (/*#__PURE__*/React__default.createElement(StatusIndicatorView, Object.assign({}, props)));
25570
-
25571
25844
  var useSidebarState = function useSidebarState(defaultExpanded, expanded, onExpandedChange, breakpoint) {
25572
25845
  if (defaultExpanded === void 0) {
25573
25846
  defaultExpanded = true;
@@ -37313,6 +37586,7 @@ exports.Modal = Modal;
37313
37586
  exports.MoonIcon = MoonIcon;
37314
37587
  exports.NavigationMenu = NavigationMenu;
37315
37588
  exports.NotificationIcon = NotificationIcon;
37589
+ exports.OKR = OKR;
37316
37590
  exports.OTPInput = OTPInput;
37317
37591
  exports.OpenEyeIcon = OpenEyeIcon;
37318
37592
  exports.Pagination = Pagination;