@trops/dash-core 0.1.199 → 0.1.201

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.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import * as DashReact from '@trops/dash-react';
3
- import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Sidebar, Paragraph, Modal, Panel, Stepper, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2, ButtonIcon2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, Tag2, Tag3, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Card2, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Card3, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, Icon2, AlgoliaSearchBox, CommandPalette, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
3
+ import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Sidebar, Paragraph, Modal, Panel, Stepper, Tag2, Card2, Tag3, Card3, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2, ButtonIcon2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, Icon2, AlgoliaSearchBox, CommandPalette, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
4
4
  export * from '@trops/dash-react';
5
5
  export { ThemeContext } from '@trops/dash-react';
6
6
  import _typeof from '@babel/runtime/helpers/typeof';
@@ -5647,12 +5647,11 @@ var WizardDiscoverStep = function WizardDiscoverStep(_ref) {
5647
5647
  }
5648
5648
  // eslint-disable-next-line react-hooks/exhaustive-deps
5649
5649
  }, []);
5650
- var handleSearchChange = useCallback(function (e) {
5651
- var q = e.target.value;
5652
- setSearchQuery(q);
5650
+ var handleSearchChange = useCallback(function (val) {
5651
+ setSearchQuery(val);
5653
5652
  dispatch({
5654
5653
  type: "SET_SEARCH_QUERY",
5655
- payload: q
5654
+ payload: val
5656
5655
  });
5657
5656
  }, [setSearchQuery, dispatch]);
5658
5657
 
@@ -5718,76 +5717,61 @@ var WizardDiscoverStep = function WizardDiscoverStep(_ref) {
5718
5717
  var hasResults = filteredDashboards.length > 0 || filteredWidgets.length > 0;
5719
5718
  var hasActiveFilters = filters.categories.length > 0 || filters.providers.length > 0;
5720
5719
  return /*#__PURE__*/jsxs("div", {
5721
- className: "wizard-discover-step",
5722
- children: [/*#__PURE__*/jsx("div", {
5723
- className: "wizard-discover-search",
5724
- children: /*#__PURE__*/jsxs("div", {
5725
- className: "wizard-discover-search-input",
5726
- children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
5727
- icon: "magnifying-glass",
5728
- fixedWidth: true,
5729
- className: "wizard-discover-search-icon"
5730
- }), /*#__PURE__*/jsx("input", {
5731
- type: "text",
5732
- placeholder: "Search registry...",
5733
- value: searchQuery,
5734
- onChange: handleSearchChange,
5735
- className: "wizard-discover-input"
5736
- })]
5737
- })
5720
+ className: "flex flex-col gap-4",
5721
+ children: [/*#__PURE__*/jsx(InputText, {
5722
+ value: searchQuery,
5723
+ onChange: handleSearchChange,
5724
+ placeholder: "Search registry..."
5738
5725
  }), /*#__PURE__*/jsxs("div", {
5739
- className: "wizard-discover-filters",
5726
+ className: "flex flex-col gap-3",
5740
5727
  children: [/*#__PURE__*/jsxs("div", {
5741
- className: "wizard-discover-filter-row",
5728
+ className: "flex flex-col gap-1.5",
5742
5729
  children: [/*#__PURE__*/jsx("span", {
5743
- className: "wizard-discover-filter-label",
5730
+ className: "text-xs font-semibold text-gray-400 uppercase tracking-wide",
5744
5731
  children: "Categories"
5745
5732
  }), /*#__PURE__*/jsx("div", {
5746
- className: "wizard-discover-chips",
5733
+ className: "flex flex-wrap gap-1.5",
5747
5734
  children: DASHBOARD_TAGS$1.map(function (tag) {
5748
- return /*#__PURE__*/jsx("button", {
5749
- type: "button",
5750
- className: "wizard-chip ".concat(filters.categories.includes(tag) ? "wizard-chip--active" : ""),
5735
+ return /*#__PURE__*/jsx(Tag2, {
5736
+ text: tag,
5751
5737
  onClick: function onClick() {
5752
5738
  return handleToggleCategory(tag);
5753
5739
  },
5754
- children: tag
5740
+ className: filters.categories.includes(tag) ? "ring-1 ring-blue-400" : ""
5755
5741
  }, tag);
5756
5742
  })
5757
5743
  })]
5758
5744
  }), /*#__PURE__*/jsxs("div", {
5759
- className: "wizard-discover-filter-row",
5745
+ className: "flex flex-col gap-1.5",
5760
5746
  children: [/*#__PURE__*/jsx("span", {
5761
- className: "wizard-discover-filter-label",
5747
+ className: "text-xs font-semibold text-gray-400 uppercase tracking-wide",
5762
5748
  children: "Providers"
5763
5749
  }), /*#__PURE__*/jsx("div", {
5764
- className: "wizard-discover-chips",
5750
+ className: "flex flex-wrap gap-1.5",
5765
5751
  children: KNOWN_PROVIDERS.map(function (prov) {
5766
- return /*#__PURE__*/jsx("button", {
5767
- type: "button",
5768
- className: "wizard-chip ".concat(filters.providers.includes(prov.key) ? "wizard-chip--active" : ""),
5752
+ return /*#__PURE__*/jsx(Tag2, {
5753
+ text: prov.name,
5769
5754
  onClick: function onClick() {
5770
5755
  return handleToggleProvider(prov.key);
5771
5756
  },
5772
- children: prov.name
5757
+ className: filters.providers.includes(prov.key) ? "ring-1 ring-blue-400" : ""
5773
5758
  }, prov.key);
5774
5759
  })
5775
5760
  })]
5776
5761
  })]
5777
5762
  }), /*#__PURE__*/jsx("div", {
5778
- className: "wizard-discover-results",
5763
+ className: "flex flex-col gap-6 mt-2",
5779
5764
  children: isLoading ? /*#__PURE__*/jsxs("div", {
5780
- className: "wizard-loading",
5765
+ className: "flex flex-col items-center justify-center gap-2 py-12 text-gray-400",
5781
5766
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
5782
5767
  icon: "spinner",
5783
5768
  spin: true,
5784
- fixedWidth: true,
5785
- className: "wizard-loading-icon"
5769
+ fixedWidth: true
5786
5770
  }), /*#__PURE__*/jsx("span", {
5787
5771
  children: "Searching registry..."
5788
5772
  })]
5789
5773
  }) : error ? /*#__PURE__*/jsxs("div", {
5790
- className: "wizard-error",
5774
+ className: "flex items-center gap-2 text-red-400 py-4",
5791
5775
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
5792
5776
  icon: "circle-exclamation",
5793
5777
  fixedWidth: true
@@ -5795,55 +5779,54 @@ var WizardDiscoverStep = function WizardDiscoverStep(_ref) {
5795
5779
  children: error
5796
5780
  })]
5797
5781
  }) : !hasResults ? /*#__PURE__*/jsxs("div", {
5798
- className: "wizard-empty",
5782
+ className: "flex flex-col items-center justify-center gap-2 py-12 text-gray-500",
5799
5783
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
5800
5784
  icon: "magnifying-glass",
5801
- fixedWidth: true,
5802
- className: "wizard-empty-icon"
5785
+ fixedWidth: true
5803
5786
  }), /*#__PURE__*/jsx("p", {
5804
5787
  children: "No results match your search."
5805
5788
  }), hasActiveFilters && /*#__PURE__*/jsx("p", {
5806
- className: "wizard-empty-hint",
5789
+ className: "text-xs text-gray-600",
5807
5790
  children: "Try removing some filters to see more results."
5808
5791
  })]
5809
5792
  }) : /*#__PURE__*/jsxs(Fragment, {
5810
5793
  children: [filteredDashboards.length > 0 && /*#__PURE__*/jsxs("div", {
5811
- className: "wizard-discover-section",
5794
+ className: "flex flex-col gap-2",
5812
5795
  children: [/*#__PURE__*/jsxs("h4", {
5813
- className: "wizard-discover-section-title",
5796
+ className: "text-sm font-semibold text-gray-300 flex items-center gap-2",
5814
5797
  children: ["Dashboards (", filteredDashboards.length, " result", filteredDashboards.length !== 1 ? "s" : "", ")"]
5815
5798
  }), /*#__PURE__*/jsx("div", {
5816
- className: "wizard-dashboard-list",
5799
+ className: "flex flex-col gap-2",
5817
5800
  children: filteredDashboards.map(function (dash) {
5818
5801
  var isSelected = state.selectedDashboard && state.selectedDashboard.name === dash.name;
5819
5802
  var widgetCount = (dash.widgets || []).length;
5820
5803
  var providerNames = (dash.providers || []).map(function (p) {
5821
5804
  return p.name || p.type;
5822
5805
  }).join(", ");
5823
- return /*#__PURE__*/jsxs("button", {
5824
- type: "button",
5825
- className: "wizard-dashboard-card ".concat(isSelected ? "wizard-dashboard-card--selected" : ""),
5806
+ return /*#__PURE__*/jsxs(Card2, {
5807
+ hover: true,
5808
+ selected: isSelected,
5826
5809
  onClick: function onClick() {
5827
5810
  return handleSelectDashboard(dash);
5828
5811
  },
5829
5812
  children: [/*#__PURE__*/jsxs("div", {
5830
- className: "wizard-dashboard-card-header",
5813
+ className: "flex items-center gap-2",
5831
5814
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
5832
5815
  icon: resolveIcon(dash.icon || "grid-2"),
5833
5816
  fixedWidth: true,
5834
- className: "wizard-dashboard-card-icon"
5817
+ className: "text-gray-400"
5835
5818
  }), /*#__PURE__*/jsx("span", {
5836
- className: "wizard-dashboard-card-name",
5819
+ className: "text-sm font-medium text-gray-200",
5837
5820
  children: dash.displayName || dash.name
5838
5821
  }), isSelected && /*#__PURE__*/jsx(FontAwesomeIcon, {
5839
5822
  icon: "circle-check",
5840
- className: "wizard-dashboard-card-check"
5823
+ className: "ml-auto text-blue-400"
5841
5824
  })]
5842
5825
  }), dash.description && /*#__PURE__*/jsx("p", {
5843
- className: "wizard-dashboard-card-desc",
5826
+ className: "text-xs text-gray-400 mt-1",
5844
5827
  children: dash.description
5845
5828
  }), /*#__PURE__*/jsxs("div", {
5846
- className: "wizard-dashboard-card-meta",
5829
+ className: "flex items-center gap-3 mt-2 text-xs text-gray-500",
5847
5830
  children: [/*#__PURE__*/jsxs("span", {
5848
5831
  children: [widgetCount, " widget", widgetCount !== 1 ? "s" : ""]
5849
5832
  }), providerNames && /*#__PURE__*/jsx("span", {
@@ -5854,49 +5837,49 @@ var WizardDiscoverStep = function WizardDiscoverStep(_ref) {
5854
5837
  })
5855
5838
  })]
5856
5839
  }), filteredWidgets.length > 0 && /*#__PURE__*/jsxs("div", {
5857
- className: "wizard-discover-section",
5840
+ className: "flex flex-col gap-2",
5858
5841
  children: [/*#__PURE__*/jsxs("h4", {
5859
- className: "wizard-discover-section-title",
5860
- children: ["Widgets (", filteredWidgets.length, " result", filteredWidgets.length !== 1 ? "s" : "", ")", state.selectedWidgets.length > 0 && /*#__PURE__*/jsxs("span", {
5861
- className: "wizard-count-badge",
5862
- children: [state.selectedWidgets.length, " selected"]
5842
+ className: "text-sm font-semibold text-gray-300 flex items-center gap-2",
5843
+ children: ["Widgets (", filteredWidgets.length, " result", filteredWidgets.length !== 1 ? "s" : "", ")", state.selectedWidgets.length > 0 && /*#__PURE__*/jsx(Tag3, {
5844
+ text: "".concat(state.selectedWidgets.length, " selected")
5863
5845
  })]
5864
5846
  }), /*#__PURE__*/jsx("div", {
5865
- className: "wizard-widget-list",
5847
+ className: "grid grid-cols-2 gap-2",
5866
5848
  children: filteredWidgets.map(function (widget) {
5867
5849
  var checked = isWidgetSelected(widget);
5868
- return /*#__PURE__*/jsxs("button", {
5869
- type: "button",
5870
- className: "wizard-widget-card ".concat(checked ? "wizard-widget-card--selected" : ""),
5850
+ return /*#__PURE__*/jsx(Card2, {
5851
+ hover: true,
5852
+ selected: checked,
5871
5853
  onClick: function onClick() {
5872
5854
  return handleToggleWidget(widget);
5873
5855
  },
5874
- children: [/*#__PURE__*/jsx("div", {
5875
- className: "wizard-widget-card-checkbox",
5876
- children: /*#__PURE__*/jsx(FontAwesomeIcon, {
5856
+ children: /*#__PURE__*/jsxs("div", {
5857
+ className: "flex items-start gap-2",
5858
+ children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
5877
5859
  icon: checked ? "square-check" : "square",
5878
- fixedWidth: true
5879
- })
5880
- }), /*#__PURE__*/jsxs("div", {
5881
- className: "wizard-widget-card-info",
5882
- children: [/*#__PURE__*/jsxs("div", {
5883
- className: "wizard-widget-card-header",
5884
- children: [widget.icon && /*#__PURE__*/jsx(FontAwesomeIcon, {
5885
- icon: resolveIcon(widget.icon),
5886
- fixedWidth: true,
5887
- className: "wizard-widget-card-icon"
5888
- }), /*#__PURE__*/jsx("span", {
5889
- className: "wizard-widget-card-name",
5890
- children: widget.name
5860
+ fixedWidth: true,
5861
+ className: checked ? "text-blue-400 mt-0.5" : "text-gray-500 mt-0.5"
5862
+ }), /*#__PURE__*/jsxs("div", {
5863
+ className: "flex flex-col gap-0.5 min-w-0",
5864
+ children: [/*#__PURE__*/jsxs("div", {
5865
+ className: "flex items-center gap-1.5",
5866
+ children: [widget.icon && /*#__PURE__*/jsx(FontAwesomeIcon, {
5867
+ icon: resolveIcon(widget.icon),
5868
+ fixedWidth: true,
5869
+ className: "text-gray-400 text-xs"
5870
+ }), /*#__PURE__*/jsx("span", {
5871
+ className: "text-sm font-medium text-gray-200 truncate",
5872
+ children: widget.name
5873
+ })]
5874
+ }), widget.description && /*#__PURE__*/jsx("p", {
5875
+ className: "text-xs text-gray-400 line-clamp-2",
5876
+ children: widget.description
5877
+ }), widget.packageDisplayName && /*#__PURE__*/jsx("span", {
5878
+ className: "text-xs text-gray-500",
5879
+ children: widget.packageDisplayName
5891
5880
  })]
5892
- }), widget.description && /*#__PURE__*/jsx("p", {
5893
- className: "wizard-widget-card-desc",
5894
- children: widget.description
5895
- }), widget.packageDisplayName && /*#__PURE__*/jsx("span", {
5896
- className: "wizard-widget-card-package",
5897
- children: widget.packageDisplayName
5898
5881
  })]
5899
- })]
5882
+ })
5900
5883
  }, widget.key);
5901
5884
  })
5902
5885
  })]
@@ -6148,12 +6131,12 @@ var WizardLayoutPreviewStep = function WizardLayoutPreviewStep(_ref) {
6148
6131
  return t.id === state.layout.templateKey;
6149
6132
  });
6150
6133
  return /*#__PURE__*/jsxs("div", {
6151
- className: "wizard-layout-step",
6134
+ className: "flex flex-col gap-4",
6152
6135
  children: [/*#__PURE__*/jsx("h3", {
6153
- className: "wizard-step-header",
6136
+ className: "text-lg font-semibold text-gray-200",
6154
6137
  children: "Preview your layout"
6155
6138
  }), /*#__PURE__*/jsx("p", {
6156
- className: "wizard-step-description",
6139
+ className: "text-sm text-gray-400",
6157
6140
  children: "Drag widgets to rearrange their placement in the grid."
6158
6141
  }), template ? /*#__PURE__*/jsx(LayoutGrid, {
6159
6142
  template: template,
@@ -6161,11 +6144,10 @@ var WizardLayoutPreviewStep = function WizardLayoutPreviewStep(_ref) {
6161
6144
  widgets: state.selectedWidgets,
6162
6145
  dispatch: dispatch
6163
6146
  }) : /*#__PURE__*/jsxs("div", {
6164
- className: "wizard-empty",
6147
+ className: "flex flex-col items-center justify-center gap-2 py-12 text-gray-500",
6165
6148
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6166
6149
  icon: "grid-2",
6167
- fixedWidth: true,
6168
- className: "wizard-empty-icon"
6150
+ fixedWidth: true
6169
6151
  }), /*#__PURE__*/jsx("p", {
6170
6152
  children: "No layout template available."
6171
6153
  })]
@@ -6179,16 +6161,15 @@ var PrebuiltPreview = function PrebuiltPreview(_ref2) {
6179
6161
  var dashboard = _ref2.dashboard;
6180
6162
  if (!dashboard) {
6181
6163
  return /*#__PURE__*/jsxs("div", {
6182
- className: "wizard-layout-step",
6164
+ className: "flex flex-col gap-4",
6183
6165
  children: [/*#__PURE__*/jsx("h3", {
6184
- className: "wizard-step-header",
6166
+ className: "text-lg font-semibold text-gray-200",
6185
6167
  children: "Dashboard preview"
6186
6168
  }), /*#__PURE__*/jsxs("div", {
6187
- className: "wizard-empty",
6169
+ className: "flex flex-col items-center justify-center gap-2 py-12 text-gray-500",
6188
6170
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6189
6171
  icon: "box-open",
6190
- fixedWidth: true,
6191
- className: "wizard-empty-icon"
6172
+ fixedWidth: true
6192
6173
  }), /*#__PURE__*/jsx("p", {
6193
6174
  children: "No dashboard selected."
6194
6175
  })]
@@ -6197,38 +6178,39 @@ var PrebuiltPreview = function PrebuiltPreview(_ref2) {
6197
6178
  }
6198
6179
  var widgets = dashboard.widgets || [];
6199
6180
  return /*#__PURE__*/jsxs("div", {
6200
- className: "wizard-layout-step",
6181
+ className: "flex flex-col gap-4",
6201
6182
  children: [/*#__PURE__*/jsx("h3", {
6202
- className: "wizard-step-header",
6183
+ className: "text-lg font-semibold text-gray-200",
6203
6184
  children: "Dashboard preview"
6204
6185
  }), /*#__PURE__*/jsxs("div", {
6205
- className: "wizard-prebuilt-preview",
6186
+ className: "rounded-lg border border-gray-700/50 bg-gray-800/50 p-4 flex flex-col gap-3",
6206
6187
  children: [/*#__PURE__*/jsxs("div", {
6207
- className: "wizard-prebuilt-header",
6188
+ className: "flex items-center gap-2",
6208
6189
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6209
6190
  icon: resolveIcon(dashboard.icon || "grid-2"),
6210
6191
  fixedWidth: true,
6211
- className: "wizard-prebuilt-icon"
6192
+ className: "text-blue-400"
6212
6193
  }), /*#__PURE__*/jsx("span", {
6213
- className: "wizard-prebuilt-name",
6194
+ className: "text-base font-semibold text-gray-200",
6214
6195
  children: dashboard.displayName || dashboard.name
6215
6196
  })]
6216
6197
  }), dashboard.description && /*#__PURE__*/jsx("p", {
6217
- className: "wizard-prebuilt-desc",
6198
+ className: "text-sm text-gray-400",
6218
6199
  children: dashboard.description
6219
6200
  }), /*#__PURE__*/jsxs("div", {
6220
- className: "wizard-prebuilt-widgets",
6201
+ className: "flex flex-col gap-1.5",
6221
6202
  children: [/*#__PURE__*/jsxs("span", {
6222
- className: "wizard-prebuilt-widgets-label",
6203
+ className: "text-xs font-semibold text-gray-400 uppercase tracking-wide",
6223
6204
  children: ["Includes ", widgets.length, " widget", widgets.length !== 1 ? "s" : "", ":"]
6224
6205
  }), /*#__PURE__*/jsx("ul", {
6225
- className: "wizard-prebuilt-widget-list",
6206
+ className: "flex flex-col gap-1",
6226
6207
  children: widgets.map(function (w, i) {
6227
6208
  return /*#__PURE__*/jsxs("li", {
6209
+ className: "flex items-center gap-2 text-sm text-gray-300",
6228
6210
  children: [w.icon && /*#__PURE__*/jsx(FontAwesomeIcon, {
6229
6211
  icon: resolveIcon(w.icon),
6230
6212
  fixedWidth: true,
6231
- className: "wizard-prebuilt-widget-icon"
6213
+ className: "text-gray-500 text-xs"
6232
6214
  }), /*#__PURE__*/jsx("span", {
6233
6215
  children: w.displayName || w.name
6234
6216
  })]
@@ -6316,7 +6298,7 @@ var LayoutGrid = function LayoutGrid(_ref3) {
6316
6298
  dragRef.current = null;
6317
6299
  }, []);
6318
6300
  return /*#__PURE__*/jsx("div", {
6319
- className: "wizard-layout-grid",
6301
+ className: "gap-3 p-4",
6320
6302
  style: {
6321
6303
  display: "grid",
6322
6304
  gridTemplateRows: "repeat(".concat(template.rows, ", 1fr)"),
@@ -6330,9 +6312,9 @@ var LayoutGrid = function LayoutGrid(_ref3) {
6330
6312
  var cellStyle = {};
6331
6313
  if (cell.rowSpan) cellStyle.gridRow = "span ".concat(cell.rowSpan);
6332
6314
  if (cell.colSpan) cellStyle.gridColumn = "span ".concat(cell.colSpan);
6333
- var classNames = ["wizard-layout-cell", hasWidget ? "wizard-layout-cell--filled" : "wizard-layout-cell--empty", isDragging ? "wizard-layout-cell--dragging" : "", isDragOver ? "wizard-layout-cell--drag-over" : ""].filter(Boolean).join(" ");
6315
+ var cellClasses = ["rounded-lg border transition-all flex items-center justify-center min-h-[60px]", hasWidget ? "border-gray-600 bg-gray-800/80 cursor-grab" : "border-dashed border-gray-700 bg-gray-800/30", isDragging ? "opacity-50 scale-95" : "", isDragOver ? "ring-2 ring-blue-400 border-blue-400" : ""].filter(Boolean).join(" ");
6334
6316
  return /*#__PURE__*/jsx("div", {
6335
- className: classNames,
6317
+ className: cellClasses,
6336
6318
  style: cellStyle,
6337
6319
  draggable: hasWidget,
6338
6320
  onDragStart: hasWidget ? function (e) {
@@ -6347,20 +6329,20 @@ var LayoutGrid = function LayoutGrid(_ref3) {
6347
6329
  },
6348
6330
  onDragEnd: handleDragEnd,
6349
6331
  children: hasWidget ? /*#__PURE__*/jsxs("div", {
6350
- className: "wizard-layout-cell-content",
6332
+ className: "flex items-center gap-2 px-3 py-2 text-sm text-gray-300",
6351
6333
  children: [content.icon && /*#__PURE__*/jsx(FontAwesomeIcon, {
6352
6334
  icon: resolveIcon(content.icon),
6353
6335
  fixedWidth: true,
6354
- className: "wizard-layout-cell-icon"
6336
+ className: "text-gray-400 text-xs"
6355
6337
  }), /*#__PURE__*/jsx("span", {
6356
- className: "wizard-layout-cell-name",
6338
+ className: "truncate",
6357
6339
  children: content.displayName || content.name || content.key
6358
6340
  }), /*#__PURE__*/jsx(FontAwesomeIcon, {
6359
6341
  icon: "grip-vertical",
6360
- className: "wizard-layout-cell-grip"
6342
+ className: "text-gray-600 ml-auto"
6361
6343
  })]
6362
6344
  }) : /*#__PURE__*/jsx("div", {
6363
- className: "wizard-layout-cell-placeholder",
6345
+ className: "text-gray-600",
6364
6346
  children: /*#__PURE__*/jsx(FontAwesomeIcon, {
6365
6347
  icon: "plus",
6366
6348
  fixedWidth: true
@@ -6662,17 +6644,17 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6662
6644
  // --- Success state ---
6663
6645
  if (createdDashboard) {
6664
6646
  return /*#__PURE__*/jsx("div", {
6665
- className: "wizard-customize-step",
6647
+ className: "flex flex-col gap-4",
6666
6648
  children: /*#__PURE__*/jsxs("div", {
6667
- className: "wizard-success",
6649
+ className: "flex flex-col items-center justify-center gap-4 py-12",
6668
6650
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6669
6651
  icon: "circle-check",
6670
- className: "wizard-success-icon"
6652
+ className: "text-green-400 text-3xl"
6671
6653
  }), /*#__PURE__*/jsx("h3", {
6672
- className: "wizard-step-header",
6654
+ className: "text-lg font-semibold text-gray-200",
6673
6655
  children: "Dashboard created!"
6674
6656
  }), /*#__PURE__*/jsxs("p", {
6675
- className: "wizard-step-description",
6657
+ className: "text-sm text-gray-400",
6676
6658
  children: ["Your dashboard", " ", /*#__PURE__*/jsx("strong", {
6677
6659
  children: createdDashboard.name || state.customization.name.trim()
6678
6660
  }), " ", "is ready."]
@@ -6714,23 +6696,22 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6714
6696
  });
6715
6697
  var selectedTheme = themes && state.customization.theme ? themes[state.customization.theme] : null;
6716
6698
  return /*#__PURE__*/jsxs("div", {
6717
- className: "wizard-customize-step",
6699
+ className: "flex flex-col gap-4",
6718
6700
  children: [/*#__PURE__*/jsx("h3", {
6719
- className: "wizard-step-header",
6701
+ className: "text-lg font-semibold text-gray-200",
6720
6702
  children: "Customize your dashboard"
6721
6703
  }), /*#__PURE__*/jsx("p", {
6722
- className: "wizard-step-description",
6704
+ className: "text-sm text-gray-400",
6723
6705
  children: "Name your dashboard, choose a folder, and pick a theme."
6724
6706
  }), /*#__PURE__*/jsxs("div", {
6725
- className: "wizard-customize-sections",
6707
+ className: "flex flex-col gap-6",
6726
6708
  children: [/*#__PURE__*/jsxs("div", {
6727
- className: "wizard-customize-section",
6709
+ className: "flex flex-col gap-2",
6728
6710
  children: [/*#__PURE__*/jsxs("label", {
6729
- className: "wizard-customize-label",
6711
+ className: "flex items-center gap-2 text-sm font-semibold text-gray-300",
6730
6712
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6731
6713
  icon: "input-text",
6732
- fixedWidth: true,
6733
- className: "wizard-customize-label-icon"
6714
+ fixedWidth: true
6734
6715
  }), "Dashboard Name"]
6735
6716
  }), /*#__PURE__*/jsx(InputText, {
6736
6717
  value: state.customization.name,
@@ -6739,19 +6720,18 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6739
6720
  autoFocus: true
6740
6721
  })]
6741
6722
  }), /*#__PURE__*/jsxs("div", {
6742
- className: "wizard-customize-section",
6723
+ className: "flex flex-col gap-2",
6743
6724
  children: [/*#__PURE__*/jsxs("label", {
6744
- className: "wizard-customize-label",
6725
+ className: "flex items-center gap-2 text-sm font-semibold text-gray-300",
6745
6726
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6746
6727
  icon: "folder",
6747
- fixedWidth: true,
6748
- className: "wizard-customize-label-icon"
6728
+ fixedWidth: true
6749
6729
  }), "Folder"]
6750
6730
  }), /*#__PURE__*/jsxs("div", {
6751
- className: "wizard-customize-folder-list",
6731
+ className: "flex flex-col gap-1.5",
6752
6732
  children: [!isCreatingFolder ? /*#__PURE__*/jsxs("button", {
6753
6733
  type: "button",
6754
- className: "wizard-customize-folder-create",
6734
+ className: "flex items-center gap-2 px-3 py-2 rounded border border-dashed border-gray-600 text-sm text-gray-400 hover:border-gray-500 hover:text-gray-300 transition-colors",
6755
6735
  onClick: function onClick() {
6756
6736
  return setIsCreatingFolder(true);
6757
6737
  },
@@ -6762,9 +6742,9 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6762
6742
  children: "New Folder"
6763
6743
  })]
6764
6744
  }) : /*#__PURE__*/jsxs("div", {
6765
- className: "wizard-customize-folder-form",
6745
+ className: "rounded-lg border border-gray-700 bg-gray-800/50 p-3 flex flex-col gap-2",
6766
6746
  children: [/*#__PURE__*/jsxs("div", {
6767
- className: "wizard-customize-folder-form-header",
6747
+ className: "flex items-center justify-between",
6768
6748
  children: [/*#__PURE__*/jsx("span", {
6769
6749
  className: "text-sm font-medium text-gray-300",
6770
6750
  children: "New Folder"
@@ -6809,36 +6789,39 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6809
6789
  })]
6810
6790
  }), localMenuItems.map(function (item) {
6811
6791
  var isSelected = !isCreatingFolder && item.id === state.customization.menuId;
6812
- return /*#__PURE__*/jsxs("div", {
6813
- className: "wizard-customize-folder-item ".concat(isSelected ? "wizard-customize-folder-item--selected" : ""),
6792
+ return /*#__PURE__*/jsx(Card3, {
6793
+ hover: true,
6794
+ selected: isSelected,
6814
6795
  onClick: function onClick() {
6815
6796
  return handleMenuSelect(item.id);
6816
6797
  },
6817
- children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6818
- icon: item.icon || item.folder || "folder",
6819
- fixedWidth: true,
6820
- className: "w-5 h-5 ".concat(isSelected ? "text-blue-400" : "text-gray-400")
6821
- }), /*#__PURE__*/jsx("span", {
6822
- className: "text-sm font-medium ".concat(isSelected ? "text-blue-300" : "text-gray-300"),
6823
- children: item.name
6824
- }), isSelected && /*#__PURE__*/jsx(FontAwesomeIcon, {
6825
- icon: "check",
6826
- className: "ml-auto text-blue-400 text-sm"
6827
- })]
6798
+ children: /*#__PURE__*/jsxs("div", {
6799
+ className: "flex items-center gap-2",
6800
+ children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6801
+ icon: item.icon || item.folder || "folder",
6802
+ fixedWidth: true,
6803
+ className: "w-5 h-5 ".concat(isSelected ? "text-blue-400" : "text-gray-400")
6804
+ }), /*#__PURE__*/jsx("span", {
6805
+ className: "text-sm font-medium ".concat(isSelected ? "text-blue-300" : "text-gray-300"),
6806
+ children: item.name
6807
+ }), isSelected && /*#__PURE__*/jsx(FontAwesomeIcon, {
6808
+ icon: "check",
6809
+ className: "ml-auto text-blue-400 text-sm"
6810
+ })]
6811
+ })
6828
6812
  }, item.id);
6829
6813
  })]
6830
6814
  })]
6831
6815
  }), /*#__PURE__*/jsxs("div", {
6832
- className: "wizard-customize-section",
6816
+ className: "flex flex-col gap-2",
6833
6817
  children: [/*#__PURE__*/jsxs("label", {
6834
- className: "wizard-customize-label",
6818
+ className: "flex items-center gap-2 text-sm font-semibold text-gray-300",
6835
6819
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6836
6820
  icon: "palette",
6837
- fixedWidth: true,
6838
- className: "wizard-customize-label-icon"
6821
+ fixedWidth: true
6839
6822
  }), "Theme"]
6840
6823
  }), /*#__PURE__*/jsx("div", {
6841
- className: "wizard-customize-theme-list",
6824
+ className: "flex flex-col gap-1.5",
6842
6825
  children: themes && Object.entries(themes).sort(function (_ref7, _ref8) {
6843
6826
  var _ref9 = _slicedToArray(_ref7, 2),
6844
6827
  a = _ref9[1];
@@ -6850,90 +6833,83 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6850
6833
  key = _ref10[0],
6851
6834
  t = _ref10[1];
6852
6835
  var isThemeSelected = state.customization.theme === key;
6853
- return /*#__PURE__*/jsxs("div", {
6854
- className: "wizard-customize-theme-item ".concat(isThemeSelected ? "wizard-customize-theme-item--selected" : ""),
6836
+ return /*#__PURE__*/jsx(Card3, {
6837
+ hover: true,
6838
+ selected: isThemeSelected,
6855
6839
  onClick: function onClick() {
6856
6840
  return handleThemeSelect(key);
6857
6841
  },
6858
- children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6859
- icon: "palette",
6860
- className: "w-5 h-5 mr-3 ".concat(isThemeSelected ? "text-blue-400" : "text-gray-400")
6861
- }), /*#__PURE__*/jsx("span", {
6862
- className: "text-sm font-medium ".concat(isThemeSelected ? "text-blue-300" : "text-gray-300"),
6863
- children: t.name || key
6864
- }), /*#__PURE__*/jsxs("div", {
6865
- className: "flex flex-row space-x-1 ml-auto",
6866
- children: [t.primary && /*#__PURE__*/jsx("div", {
6867
- className: "w-4 h-4 rounded bg-".concat(t.primary, "-500")
6868
- }), t.secondary && /*#__PURE__*/jsx("div", {
6869
- className: "w-4 h-4 rounded bg-".concat(t.secondary, "-500")
6870
- }), t.tertiary && /*#__PURE__*/jsx("div", {
6871
- className: "w-4 h-4 rounded bg-".concat(t.tertiary, "-500")
6842
+ children: /*#__PURE__*/jsxs("div", {
6843
+ className: "flex items-center gap-2",
6844
+ children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6845
+ icon: "palette",
6846
+ className: "w-5 h-5 ".concat(isThemeSelected ? "text-blue-400" : "text-gray-400")
6847
+ }), /*#__PURE__*/jsx("span", {
6848
+ className: "text-sm font-medium ".concat(isThemeSelected ? "text-blue-300" : "text-gray-300"),
6849
+ children: t.name || key
6850
+ }), /*#__PURE__*/jsxs("div", {
6851
+ className: "flex flex-row space-x-1 ml-auto",
6852
+ children: [t.primary && /*#__PURE__*/jsx("div", {
6853
+ className: "w-4 h-4 rounded bg-".concat(t.primary, "-500")
6854
+ }), t.secondary && /*#__PURE__*/jsx("div", {
6855
+ className: "w-4 h-4 rounded bg-".concat(t.secondary, "-500")
6856
+ }), t.tertiary && /*#__PURE__*/jsx("div", {
6857
+ className: "w-4 h-4 rounded bg-".concat(t.tertiary, "-500")
6858
+ })]
6872
6859
  })]
6873
- })]
6860
+ })
6874
6861
  }, key);
6875
6862
  })
6876
6863
  })]
6877
6864
  }), selectedProviders.length > 0 && /*#__PURE__*/jsxs("div", {
6878
- className: "wizard-customize-section",
6865
+ className: "flex flex-col gap-2",
6879
6866
  children: [/*#__PURE__*/jsxs("label", {
6880
- className: "wizard-customize-label",
6867
+ className: "flex items-center gap-2 text-sm font-semibold text-gray-300",
6881
6868
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6882
6869
  icon: "plug",
6883
- fixedWidth: true,
6884
- className: "wizard-customize-label-icon"
6870
+ fixedWidth: true
6885
6871
  }), "Provider Status"]
6886
6872
  }), /*#__PURE__*/jsxs("div", {
6887
- className: "wizard-customize-provider-summary",
6873
+ className: "rounded-lg border border-gray-700/50 bg-gray-800/50 p-4 flex flex-col gap-3",
6888
6874
  children: [configuredProviders.length > 0 && /*#__PURE__*/jsxs("div", {
6889
- className: "wizard-provider-group",
6875
+ className: "flex flex-col gap-1.5",
6890
6876
  children: [/*#__PURE__*/jsxs("span", {
6891
- className: "wizard-provider-group-label wizard-provider-group-label--ready",
6877
+ className: "flex items-center gap-1.5 text-xs font-semibold text-green-400",
6892
6878
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6893
- icon: "circle-check",
6894
- className: "text-green-400"
6895
- }), " ", "Ready (", configuredProviders.length, ")"]
6879
+ icon: "circle-check"
6880
+ }), " Ready (", configuredProviders.length, ")"]
6896
6881
  }), /*#__PURE__*/jsx("div", {
6897
- className: "wizard-provider-list",
6882
+ className: "flex flex-wrap gap-1.5",
6898
6883
  children: configuredProviders.map(function (p) {
6899
- return /*#__PURE__*/jsxs("span", {
6900
- className: "wizard-provider-badge wizard-provider-badge--ready",
6901
- children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6902
- icon: resolveIcon(p.icon),
6903
- fixedWidth: true
6904
- }), p.name]
6884
+ return /*#__PURE__*/jsx(Tag3, {
6885
+ text: p.name
6905
6886
  }, p.key);
6906
6887
  })
6907
6888
  })]
6908
6889
  }), needsSetupProviders.length > 0 && /*#__PURE__*/jsxs("div", {
6909
- className: "wizard-provider-group",
6890
+ className: "flex flex-col gap-1.5",
6910
6891
  children: [/*#__PURE__*/jsxs("span", {
6911
- className: "wizard-provider-group-label wizard-provider-group-label--setup",
6892
+ className: "flex items-center gap-1.5 text-xs font-semibold text-amber-400",
6912
6893
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6913
- icon: "circle-exclamation",
6914
- className: "text-amber-400"
6915
- }), " ", "Needs setup (", needsSetupProviders.length, ")"]
6894
+ icon: "circle-exclamation"
6895
+ }), " Needs setup (", needsSetupProviders.length, ")"]
6916
6896
  }), /*#__PURE__*/jsx("div", {
6917
- className: "wizard-provider-list",
6897
+ className: "flex flex-wrap gap-1.5",
6918
6898
  children: needsSetupProviders.map(function (p) {
6919
- return /*#__PURE__*/jsxs("span", {
6920
- className: "wizard-provider-badge wizard-provider-badge--setup",
6921
- children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6922
- icon: resolveIcon(p.icon),
6923
- fixedWidth: true
6924
- }), p.name]
6899
+ return /*#__PURE__*/jsx(Tag3, {
6900
+ text: p.name
6925
6901
  }, p.key);
6926
6902
  })
6927
6903
  })]
6928
6904
  })]
6929
6905
  })]
6930
6906
  }), /*#__PURE__*/jsxs("div", {
6931
- className: "wizard-customize-summary",
6907
+ className: "rounded-lg border border-gray-700/50 bg-gray-800/50 p-4 flex flex-col gap-2",
6932
6908
  children: [/*#__PURE__*/jsx("span", {
6933
- className: "wizard-customize-summary-title",
6909
+ className: "text-sm font-semibold text-gray-300",
6934
6910
  children: "Summary"
6935
6911
  }), state.customization.name.trim() && /*#__PURE__*/jsxs("div", {
6936
- className: "wizard-customize-summary-row",
6912
+ className: "flex items-center gap-2 text-sm text-gray-300",
6937
6913
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6938
6914
  icon: "clone",
6939
6915
  className: "text-blue-400"
@@ -6941,7 +6917,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6941
6917
  children: state.customization.name.trim()
6942
6918
  })]
6943
6919
  }), selectedFolder && /*#__PURE__*/jsxs("div", {
6944
- className: "wizard-customize-summary-row",
6920
+ className: "flex items-center gap-2 text-sm text-gray-300",
6945
6921
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6946
6922
  icon: selectedFolder.icon || selectedFolder.folder || "folder",
6947
6923
  className: "text-blue-400"
@@ -6949,7 +6925,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6949
6925
  children: selectedFolder.name
6950
6926
  })]
6951
6927
  }), selectedTheme && /*#__PURE__*/jsxs("div", {
6952
- className: "wizard-customize-summary-row",
6928
+ className: "flex items-center gap-2 text-sm text-gray-300",
6953
6929
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6954
6930
  icon: "palette",
6955
6931
  className: "text-blue-400"
@@ -6964,7 +6940,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6964
6940
  })]
6965
6941
  })]
6966
6942
  }), /*#__PURE__*/jsxs("div", {
6967
- className: "wizard-customize-summary-row",
6943
+ className: "flex items-center gap-2 text-sm text-gray-300",
6968
6944
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6969
6945
  icon: isPrebuilt ? "box" : "grid-2",
6970
6946
  className: "text-blue-400"
@@ -6973,10 +6949,9 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
6973
6949
  })]
6974
6950
  })]
6975
6951
  }), error && /*#__PURE__*/jsxs("div", {
6976
- className: "wizard-customize-error",
6952
+ className: "flex items-center gap-2 text-red-400 py-2",
6977
6953
  children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
6978
- icon: "triangle-exclamation",
6979
- className: "text-red-400"
6954
+ icon: "triangle-exclamation"
6980
6955
  }), /*#__PURE__*/jsx("span", {
6981
6956
  children: error
6982
6957
  })]