@design.estate/dees-catalog 1.9.6 → 1.9.7

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/package.json +1 -1
  2. package/readme.md +389 -82
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "1.9.6",
3
+ "version": "1.9.7",
4
4
  "private": false,
5
5
  "description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
6
6
  "main": "dist_ts_web/index.js",
package/readme.md CHANGED
@@ -12,14 +12,15 @@ npm install @design.estate/dees-catalog
12
12
 
13
13
  | Category | Components |
14
14
  |----------|------------|
15
- | Core UI | `DeesButton`, `DeesBadge`, `DeesChips`, `DeesIcon`, `DeesLabel`, `DeesSpinner`, `DeesToast` |
16
- | Forms | `DeesForm`, `DeesInputText`, `DeesInputCheckbox`, `DeesInputDropdown`, `DeesInputRadio`, `DeesInputFileupload`, `DeesInputIban`, `DeesInputPhone`, `DeesInputQuantitySelector`, `DeesInputMultitoggle`, `DeesFormSubmit` |
17
- | Layout | `DeesAppuiBase`, `DeesAppuiMainmenu`, `DeesAppuiMainselector`, `DeesAppuiMaincontent`, `DeesAppuiAppbar`, `DeesMobileNavigation` |
18
- | Data Display | `DeesTable`, `DeesDataviewCodebox`, `DeesDataviewStatusobject`, `DeesPdf`, `DeesStatsGrid` |
15
+ | Core UI | `DeesButton`, `DeesButtonExit`, `DeesButtonGroup`, `DeesBadge`, `DeesChips`, `DeesHeading`, `DeesHint`, `DeesIcon`, `DeesLabel`, `DeesPanel`, `DeesSearchbar`, `DeesSpinner`, `DeesToast`, `DeesWindowcontrols` |
16
+ | Forms | `DeesForm`, `DeesInputText`, `DeesInputCheckbox`, `DeesInputDropdown`, `DeesInputRadiogroup`, `DeesInputFileupload`, `DeesInputIban`, `DeesInputPhone`, `DeesInputQuantitySelector`, `DeesInputMultitoggle`, `DeesInputTags`, `DeesInputTypelist`, `DeesInputRichtext`, `DeesInputWysiwyg`, `DeesFormSubmit` |
17
+ | Layout | `DeesAppuiBase`, `DeesAppuiMainmenu`, `DeesAppuiMainselector`, `DeesAppuiMaincontent`, `DeesAppuiAppbar`, `DeesAppuiActivitylog`, `DeesAppuiProfiledropdown`, `DeesAppuiTabs`, `DeesAppuiView`, `DeesMobileNavigation` |
18
+ | Data Display | `DeesTable`, `DeesDataviewCodebox`, `DeesDataviewStatusobject`, `DeesPdf`, `DeesStatsGrid`, `DeesPagination` |
19
19
  | Visualization | `DeesChartArea`, `DeesChartLog` |
20
20
  | Dialogs & Overlays | `DeesModal`, `DeesContextmenu`, `DeesSpeechbubble`, `DeesWindowlayer` |
21
- | Navigation | `DeesStepper`, `DeesProgressbar` |
22
- | Development | `DeesEditor`, `DeesEditorMarkdown`, `DeesTerminal`, `DeesUpdater` |
21
+ | Navigation | `DeesStepper`, `DeesProgressbar`, `DeesMobileNavigation` |
22
+ | Development | `DeesEditor`, `DeesEditorMarkdown`, `DeesEditorMarkdownoutlet`, `DeesTerminal`, `DeesUpdater` |
23
+ | Auth & Utilities | `DeesSimpleAppdash`, `DeesSimpleLogin` |
23
24
 
24
25
  ## Detailed Component Documentation
25
26
 
@@ -149,6 +150,93 @@ Key Features:
149
150
  - Theme-aware styling
150
151
  - Programmatic control
151
152
 
153
+ #### `DeesButtonExit`
154
+ Exit/close button component with consistent styling.
155
+
156
+ ```typescript
157
+ <dees-button-exit
158
+ @click=${handleClose}
159
+ ></dees-button-exit>
160
+ ```
161
+
162
+ #### `DeesButtonGroup`
163
+ Container for grouping related buttons together.
164
+
165
+ ```typescript
166
+ <dees-button-group
167
+ .buttons=${[
168
+ { text: 'Save', type: 'highlighted', action: handleSave },
169
+ { text: 'Cancel', type: 'normal', action: handleCancel }
170
+ ]}
171
+ spacing="medium" // Options: small, medium, large
172
+ ></dees-button-group>
173
+ ```
174
+
175
+ #### `DeesHeading`
176
+ Consistent heading component with level and styling options.
177
+
178
+ ```typescript
179
+ <dees-heading
180
+ level={1} // 1-6 for H1-H6
181
+ text="Page Title"
182
+ .subheading=${'Optional subtitle'}
183
+ centered // Optional: center alignment
184
+ ></dees-heading>
185
+ ```
186
+
187
+ #### `DeesHint`
188
+ Hint/tooltip component for providing contextual help.
189
+
190
+ ```typescript
191
+ <dees-hint
192
+ text="This field is required"
193
+ type="info" // Options: info, warning, error, success
194
+ position="top" // Options: top, bottom, left, right
195
+ ></dees-hint>
196
+ ```
197
+
198
+ #### `DeesPanel`
199
+ Container component for grouping related content with optional title and actions.
200
+
201
+ ```typescript
202
+ <dees-panel
203
+ .title=${'Panel Title'}
204
+ .subtitle=${'Optional subtitle'}
205
+ collapsible // Optional: allow collapse/expand
206
+ collapsed={false} // Initial collapsed state
207
+ .actions=${[
208
+ { icon: 'settings', action: handleSettings }
209
+ ]}
210
+ >
211
+ <!-- Panel content -->
212
+ </dees-panel>
213
+ ```
214
+
215
+ #### `DeesSearchbar`
216
+ Search input component with suggestions and search handling.
217
+
218
+ ```typescript
219
+ <dees-searchbar
220
+ placeholder="Search..."
221
+ .suggestions=${['item1', 'item2', 'item3']}
222
+ showClearButton // Show clear button when has value
223
+ @search=${handleSearch}
224
+ @suggestion-select=${handleSuggestionSelect}
225
+ ></dees-searchbar>
226
+ ```
227
+
228
+ #### `DeesWindowcontrols`
229
+ Window control buttons (minimize, maximize, close) for desktop-like applications.
230
+
231
+ ```typescript
232
+ <dees-windowcontrols
233
+ .controls=${['minimize', 'maximize', 'close']}
234
+ @minimize=${handleMinimize}
235
+ @maximize=${handleMaximize}
236
+ @close=${handleClose}
237
+ ></dees-windowcontrols>
238
+ ```
239
+
152
240
  ### Form Components
153
241
 
154
242
  #### `DeesForm`
@@ -207,22 +295,6 @@ Dropdown selection component with search and filtering capabilities.
207
295
  ></dees-input-dropdown>
208
296
  ```
209
297
 
210
- #### `DeesInputRadio`
211
- Radio button group for single-choice selections.
212
-
213
- ```typescript
214
- <dees-input-radio
215
- key="gender"
216
- label="Gender"
217
- .options=${[
218
- { key: 'male', option: 'Male' },
219
- { key: 'female', option: 'Female' },
220
- { key: 'other', option: 'Other' }
221
- ]}
222
- required
223
- ></dees-input-radio>
224
- ```
225
-
226
298
  #### `DeesInputFileupload`
227
299
  File upload component with drag-and-drop support.
228
300
 
@@ -293,6 +365,121 @@ Multi-state toggle button group.
293
365
  ></dees-input-multitoggle>
294
366
  ```
295
367
 
368
+ #### `DeesInputRadiogroup`
369
+ Radio button group for single-choice selections with internal state management.
370
+
371
+ ```typescript
372
+ <dees-input-radiogroup
373
+ key="plan"
374
+ label="Select Plan"
375
+ .options=${['Free', 'Pro', 'Enterprise']}
376
+ selectedOption="Pro"
377
+ required
378
+ @change=${handlePlanChange}
379
+ ></dees-input-radiogroup>
380
+
381
+ // With custom option objects
382
+ <dees-input-radiogroup
383
+ key="priority"
384
+ label="Priority Level"
385
+ .options=${[
386
+ { key: 'low', label: 'Low Priority' },
387
+ { key: 'medium', label: 'Medium Priority' },
388
+ { key: 'high', label: 'High Priority' }
389
+ ]}
390
+ selectedOption="medium"
391
+ ></dees-input-radiogroup>
392
+ ```
393
+
394
+ #### `DeesInputTags`
395
+ Tag input component for managing lists of tags with auto-complete and validation.
396
+
397
+ ```typescript
398
+ <dees-input-tags
399
+ key="skills"
400
+ label="Skills"
401
+ .value=${['JavaScript', 'TypeScript', 'CSS']}
402
+ placeholder="Add a skill..."
403
+ .suggestions=${[
404
+ 'JavaScript', 'TypeScript', 'Python', 'Go', 'Rust',
405
+ 'React', 'Vue', 'Angular', 'Node.js', 'Docker'
406
+ ]}
407
+ maxTags={10} // Optional: limit number of tags
408
+ required
409
+ @change=${handleTagsChange}
410
+ ></dees-input-tags>
411
+ ```
412
+
413
+ Key Features:
414
+ - Add tags by pressing Enter or typing comma/semicolon
415
+ - Remove tags with click or backspace
416
+ - Auto-complete suggestions with keyboard navigation
417
+ - Maximum tag limit support
418
+ - Full theme support
419
+ - Form validation integration
420
+
421
+ #### `DeesInputTypelist`
422
+ Dynamic list input for managing arrays of typed values.
423
+
424
+ ```typescript
425
+ <dees-input-typelist
426
+ key="features"
427
+ label="Product Features"
428
+ placeholder="Add a feature..."
429
+ .value=${['Feature 1', 'Feature 2']}
430
+ @change=${handleFeaturesChange}
431
+ ></dees-input-typelist>
432
+ ```
433
+
434
+ #### `DeesInputRichtext`
435
+ Rich text editor with formatting toolbar powered by TipTap.
436
+
437
+ ```typescript
438
+ <dees-input-richtext
439
+ key="content"
440
+ label="Article Content"
441
+ .value=${htmlContent}
442
+ placeholder="Start writing..."
443
+ minHeight={300} // Minimum editor height
444
+ showWordCount={true} // Show word/character count
445
+ @change=${handleContentChange}
446
+ ></dees-input-richtext>
447
+ ```
448
+
449
+ Key Features:
450
+ - Full formatting toolbar (bold, italic, underline, strike, etc.)
451
+ - Heading levels (H1-H6)
452
+ - Lists (bullet, ordered)
453
+ - Links with URL editing
454
+ - Code blocks and inline code
455
+ - Blockquotes
456
+ - Horizontal rules
457
+ - Undo/redo support
458
+ - Word and character count
459
+ - HTML output
460
+
461
+ #### `DeesInputWysiwyg`
462
+ Advanced block-based editor with slash commands and rich content blocks.
463
+
464
+ ```typescript
465
+ <dees-input-wysiwyg
466
+ key="document"
467
+ label="Document Editor"
468
+ .value=${documentContent}
469
+ outputFormat="html" // Options: html, markdown, json
470
+ @change=${handleDocumentChange}
471
+ ></dees-input-wysiwyg>
472
+ ```
473
+
474
+ Key Features:
475
+ - Slash commands for quick formatting
476
+ - Block-based editing (paragraphs, headings, lists, etc.)
477
+ - Drag and drop block reordering
478
+ - Multiple output formats
479
+ - Keyboard shortcuts
480
+ - Collaborative editing ready
481
+ - Extensible block types
482
+
296
483
  #### `DeesFormSubmit`
297
484
  Submit button component specifically designed for `DeesForm`.
298
485
 
@@ -622,6 +809,91 @@ Best Practices:
622
809
  - Test with screen readers
623
810
  - Maintain focus management
624
811
 
812
+ #### `DeesAppuiActivitylog`
813
+ Activity log component for displaying system events and user actions.
814
+
815
+ ```typescript
816
+ <dees-appui-activitylog
817
+ .entries=${[
818
+ {
819
+ timestamp: new Date(),
820
+ type: 'info',
821
+ message: 'User logged in',
822
+ details: { userId: '123' }
823
+ },
824
+ {
825
+ timestamp: new Date(),
826
+ type: 'error',
827
+ message: 'Failed to save document',
828
+ details: { error: 'Network error' }
829
+ }
830
+ ]}
831
+ maxEntries={100} // Maximum entries to display
832
+ @entry-click=${handleEntryClick}
833
+ ></dees-appui-activitylog>
834
+ ```
835
+
836
+ #### `DeesAppuiProfiledropdown`
837
+ User profile dropdown component with status and menu options.
838
+
839
+ ```typescript
840
+ <dees-appui-profiledropdown
841
+ .user=${{
842
+ name: 'John Doe',
843
+ email: 'john@example.com',
844
+ avatar: '/path/to/avatar.jpg',
845
+ status: 'online' // Options: online, offline, busy, away
846
+ }}
847
+ .menuItems=${[
848
+ { name: 'Profile', iconName: 'user', action: async () => {} },
849
+ { name: 'Settings', iconName: 'settings', action: async () => {} },
850
+ { divider: true },
851
+ { name: 'Logout', iconName: 'logOut', action: async () => {} }
852
+ ]}
853
+ @status-change=${handleStatusChange}
854
+ ></dees-appui-profiledropdown>
855
+ ```
856
+
857
+ #### `DeesAppuiTabs`
858
+ Tab navigation component for organizing content sections.
859
+
860
+ ```typescript
861
+ <dees-appui-tabs
862
+ .tabs=${[
863
+ {
864
+ key: 'overview',
865
+ label: 'Overview',
866
+ icon: 'home',
867
+ content: html`<div>Overview content</div>`
868
+ },
869
+ {
870
+ key: 'details',
871
+ label: 'Details',
872
+ icon: 'info',
873
+ content: html`<div>Details content</div>`
874
+ }
875
+ ]}
876
+ selectedTab="overview"
877
+ @tab-change=${handleTabChange}
878
+ ></dees-appui-tabs>
879
+ ```
880
+
881
+ #### `DeesAppuiView`
882
+ View container component for consistent page layouts.
883
+
884
+ ```typescript
885
+ <dees-appui-view
886
+ viewTitle="Dashboard"
887
+ viewSubtitle="System Overview"
888
+ .headerActions=${[
889
+ { icon: 'refresh', action: handleRefresh },
890
+ { icon: 'settings', action: handleSettings }
891
+ ]}
892
+ >
893
+ <!-- View content -->
894
+ </dees-appui-view>
895
+ ```
896
+
625
897
  #### `DeesMobileNavigation`
626
898
  Responsive navigation component for mobile devices.
627
899
 
@@ -982,6 +1254,27 @@ setInterval(() => {
982
1254
  }, 3000);
983
1255
  ```
984
1256
 
1257
+ #### `DeesPagination`
1258
+ Pagination component for navigating through large datasets.
1259
+
1260
+ ```typescript
1261
+ <dees-pagination
1262
+ totalItems={500}
1263
+ itemsPerPage={20}
1264
+ currentPage={1}
1265
+ maxVisiblePages={7} // Maximum page numbers to display
1266
+ @page-change=${handlePageChange}
1267
+ ></dees-pagination>
1268
+ ```
1269
+
1270
+ Key Features:
1271
+ - Page number navigation
1272
+ - Previous/next buttons
1273
+ - Jump to first/last page
1274
+ - Configurable items per page
1275
+ - Responsive design
1276
+ - Keyboard navigation support
1277
+
985
1278
  ### Visualization Components
986
1279
 
987
1280
  #### `DeesChartArea`
@@ -1306,52 +1599,6 @@ Key Features:
1306
1599
  - Animation support
1307
1600
  - Accessibility features
1308
1601
 
1309
- #### `DeesMobileNavigation`
1310
- Mobile-optimized navigation component with touch support.
1311
-
1312
- ```typescript
1313
- // Programmatic usage
1314
- DeesMobilenavigation.createAndShow([
1315
- {
1316
- name: 'Home',
1317
- action: async (nav) => {
1318
- // Handle navigation
1319
- return null;
1320
- }
1321
- },
1322
- {
1323
- name: 'Settings',
1324
- action: async (nav) => {
1325
- // Handle navigation
1326
- return null;
1327
- }
1328
- }
1329
- ]);
1330
-
1331
- // Component usage
1332
- <dees-mobilenavigation
1333
- heading="MENU"
1334
- .menuItems=${[
1335
- {
1336
- name: 'Profile',
1337
- action: (nav) => handleNavigation('profile')
1338
- },
1339
- {
1340
- name: 'Settings',
1341
- action: (nav) => handleNavigation('settings')
1342
- }
1343
- ]}
1344
- ></dees-mobilenavigation>
1345
- ```
1346
-
1347
- Key Features:
1348
- - Touch-friendly interface
1349
- - Slide-in animation
1350
- - Backdrop overlay
1351
- - Single instance management
1352
- - Custom menu items
1353
- - Responsive design
1354
-
1355
1602
  Best Practices:
1356
1603
 
1357
1604
  1. Stepper Implementation
@@ -1368,13 +1615,6 @@ Best Practices:
1368
1615
  - Performance monitoring
1369
1616
  - Error state handling
1370
1617
 
1371
- 3. Mobile Navigation
1372
- - Touch-optimized targets
1373
- - Clear visual hierarchy
1374
- - Smooth animations
1375
- - Gesture support
1376
- - Responsive behavior
1377
-
1378
1618
  Common Use Cases:
1379
1619
 
1380
1620
  1. Stepper
@@ -1391,13 +1631,6 @@ Common Use Cases:
1391
1631
  - Task completion
1392
1632
  - Step progression
1393
1633
 
1394
- 3. Mobile Navigation
1395
- - Responsive menus
1396
- - App navigation
1397
- - Settings access
1398
- - User actions
1399
- - Context switching
1400
-
1401
1634
  Accessibility Considerations:
1402
1635
  - Keyboard navigation support
1403
1636
  - ARIA labels and roles
@@ -1461,6 +1694,26 @@ Key Features:
1461
1694
  - Spellcheck integration
1462
1695
  - Auto-save functionality
1463
1696
 
1697
+ #### `DeesEditorMarkdownoutlet`
1698
+ Markdown preview component for rendering markdown content.
1699
+
1700
+ ```typescript
1701
+ <dees-editor-markdownoutlet
1702
+ .markdown=${markdownContent}
1703
+ .theme=${'github'} // Options: github, dark, custom
1704
+ .plugins=${['mermaid', 'highlight']} // Optional plugins
1705
+ allowHtml={false} // Security: disable raw HTML
1706
+ ></dees-editor-markdownoutlet>
1707
+ ```
1708
+
1709
+ Key Features:
1710
+ - Safe markdown rendering
1711
+ - Multiple themes
1712
+ - Plugin support (mermaid diagrams, syntax highlighting)
1713
+ - XSS protection
1714
+ - Custom CSS injection
1715
+ - Responsive images
1716
+
1464
1717
  #### `DeesTerminal`
1465
1718
  Terminal emulator component for command-line interface.
1466
1719
 
@@ -1606,6 +1859,60 @@ Accessibility Features:
1606
1859
  - Focus management
1607
1860
  - ARIA attributes
1608
1861
 
1862
+ ### Auth & Utilities Components
1863
+
1864
+ #### `DeesSimpleAppdash`
1865
+ Simple application dashboard component for quick prototyping.
1866
+
1867
+ ```typescript
1868
+ <dees-simple-appdash
1869
+ .appTitle=${'My Application'}
1870
+ .menuItems=${[
1871
+ { name: 'Dashboard', icon: 'home', route: '/dashboard' },
1872
+ { name: 'Settings', icon: 'settings', route: '/settings' }
1873
+ ]}
1874
+ .user=${{
1875
+ name: 'John Doe',
1876
+ role: 'Administrator'
1877
+ }}
1878
+ @menu-select=${handleMenuSelect}
1879
+ >
1880
+ <!-- Dashboard content -->
1881
+ </dees-simple-appdash>
1882
+ ```
1883
+
1884
+ Key Features:
1885
+ - Quick setup dashboard layout
1886
+ - Built-in navigation
1887
+ - User profile section
1888
+ - Responsive design
1889
+ - Minimal configuration
1890
+
1891
+ #### `DeesSimpleLogin`
1892
+ Simple login form component with validation and customization.
1893
+
1894
+ ```typescript
1895
+ <dees-simple-login
1896
+ .appName=${'My Application'}
1897
+ .logo=${'./assets/logo.png'}
1898
+ .backgroundImage=${'./assets/background.jpg'}
1899
+ .fields=${['username', 'password']} // Options: username, email, password
1900
+ showForgotPassword
1901
+ showRememberMe
1902
+ @login=${handleLogin}
1903
+ @forgot-password=${handleForgotPassword}
1904
+ ></dees-simple-login>
1905
+ ```
1906
+
1907
+ Key Features:
1908
+ - Customizable fields
1909
+ - Built-in validation
1910
+ - Remember me option
1911
+ - Forgot password link
1912
+ - Custom branding
1913
+ - Responsive layout
1914
+ - Loading states
1915
+
1609
1916
  ## License and Legal Information
1610
1917
 
1611
1918
  This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the license file within this repository.