@nordmanai/nif 0.2.4 → 0.2.8
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.d.ts +5 -0
- package/dist/index.js +7177 -6682
- package/dist/styles.css +1 -1
- package/dist/ui/components/nm-alert-dialog/nm-alert-dialog.d.ts +17 -0
- package/dist/ui/components/nm-dialog/nm-dialog.d.ts +4 -0
- package/dist/ui/components/nm-drawer/nm-drawer.d.ts +18 -0
- package/dist/ui/components/nm-sidebar/nm-sidebar.d.ts +134 -0
- package/dist/ui/components/nm-textarea/nm-textarea.d.ts +1 -1
- package/dist/ui/config/nm-drawer.d.ts +3 -0
- package/dist/ui/config/nm-sidebar.d.ts +29 -0
- package/package.json +1 -1
- package/registry/index.json +258 -18
- package/registry/ui/components/nm-alert-dialog/nm-alert-dialog.css +4 -0
- package/registry/ui/components/nm-alert-dialog/nm-alert-dialog.tsx +43 -0
- package/registry/ui/components/nm-dialog/nm-dialog.css +15 -0
- package/registry/ui/components/nm-dialog/nm-dialog.tsx +8 -0
- package/registry/ui/components/nm-drawer/nm-drawer.css +70 -0
- package/registry/ui/components/nm-drawer/nm-drawer.tsx +41 -0
- package/registry/ui/components/nm-sidebar/nm-sidebar.css +647 -0
- package/registry/ui/components/nm-sidebar/nm-sidebar.tsx +532 -0
- package/registry/ui/components/nm-textarea/nm-textarea.css +25 -97
- package/registry/ui/components/nm-textarea/nm-textarea.tsx +45 -77
- package/registry/ui/config/nm-drawer.ts +3 -0
- package/registry/ui/config/nm-sidebar.ts +37 -0
- package/registry/ui/styles/tokens.css +10 -0
package/registry/index.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.2.
|
|
2
|
+
"version": "0.2.8",
|
|
3
3
|
"versions": {
|
|
4
4
|
"@animate-ui/react": "^2.4.2",
|
|
5
5
|
"@base-ui/react": "^1.9.0",
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
"input-group",
|
|
77
77
|
"form-field",
|
|
78
78
|
"dialog",
|
|
79
|
+
"alert-dialog",
|
|
79
80
|
"command",
|
|
80
81
|
"calendar",
|
|
81
82
|
"date-picker",
|
|
@@ -91,6 +92,8 @@
|
|
|
91
92
|
"breadcrumb",
|
|
92
93
|
"status-bar",
|
|
93
94
|
"side-panel",
|
|
95
|
+
"sidebar",
|
|
96
|
+
"drawer",
|
|
94
97
|
"prose",
|
|
95
98
|
"gallery",
|
|
96
99
|
"resize-handle",
|
|
@@ -302,6 +305,18 @@
|
|
|
302
305
|
"libs": [],
|
|
303
306
|
"uses": []
|
|
304
307
|
},
|
|
308
|
+
"alert-dialog": {
|
|
309
|
+
"dir": "nm-alert-dialog",
|
|
310
|
+
"files": [
|
|
311
|
+
"components/nm-alert-dialog/nm-alert-dialog.css",
|
|
312
|
+
"components/nm-alert-dialog/nm-alert-dialog.tsx",
|
|
313
|
+
"lib/nm-class.ts"
|
|
314
|
+
],
|
|
315
|
+
"libs": [
|
|
316
|
+
"@base-ui/react"
|
|
317
|
+
],
|
|
318
|
+
"uses": []
|
|
319
|
+
},
|
|
305
320
|
"app-panel": {
|
|
306
321
|
"dir": "nm-app-panel",
|
|
307
322
|
"files": [
|
|
@@ -1768,22 +1783,27 @@
|
|
|
1768
1783
|
"components/nm-popover/nm-popover.tsx",
|
|
1769
1784
|
"components/nm-prose/nm-prose.css",
|
|
1770
1785
|
"components/nm-prose/nm-prose.tsx",
|
|
1771
|
-
"components/nm-
|
|
1772
|
-
"components/nm-
|
|
1786
|
+
"components/nm-resize-handle/nm-resize-handle.css",
|
|
1787
|
+
"components/nm-resize-handle/nm-resize-handle.tsx",
|
|
1773
1788
|
"components/nm-select/nm-select.css",
|
|
1774
1789
|
"components/nm-select/nm-select.tsx",
|
|
1790
|
+
"components/nm-side-panel/nm-side-panel.css",
|
|
1791
|
+
"components/nm-side-panel/nm-side-panel.tsx",
|
|
1775
1792
|
"components/nm-small-icon-button/nm-small-icon-button.tsx",
|
|
1776
1793
|
"components/nm-textarea/nm-textarea.css",
|
|
1777
1794
|
"components/nm-textarea/nm-textarea.tsx",
|
|
1795
|
+
"components/nm-toolbar/nm-toolbar.css",
|
|
1796
|
+
"components/nm-toolbar/nm-toolbar.tsx",
|
|
1778
1797
|
"components/nordman-icon-button/nordman-icon-button.css",
|
|
1779
1798
|
"components/nordman-icon-button/nordman-icon-button.tsx",
|
|
1799
|
+
"config/nm-button.ts",
|
|
1780
1800
|
"config/nm-collection.ts",
|
|
1781
1801
|
"config/nm-dropdown.ts",
|
|
1782
1802
|
"config/nm-field.ts",
|
|
1783
1803
|
"config/nm-icon-button.ts",
|
|
1784
1804
|
"config/nm-icons-extended.ts",
|
|
1785
1805
|
"config/nm-icons.ts",
|
|
1786
|
-
"config/nm-
|
|
1806
|
+
"config/nm-side-panel.ts",
|
|
1787
1807
|
"config/nm-small-icon-button.ts",
|
|
1788
1808
|
"config/nordman-chrome.ts",
|
|
1789
1809
|
"kit-logger.ts",
|
|
@@ -1811,10 +1831,12 @@
|
|
|
1811
1831
|
"input",
|
|
1812
1832
|
"popover",
|
|
1813
1833
|
"prose",
|
|
1814
|
-
"
|
|
1834
|
+
"resize-handle",
|
|
1815
1835
|
"select",
|
|
1836
|
+
"side-panel",
|
|
1816
1837
|
"small-icon-button",
|
|
1817
1838
|
"textarea",
|
|
1839
|
+
"toolbar",
|
|
1818
1840
|
"nordman-icon-button"
|
|
1819
1841
|
]
|
|
1820
1842
|
},
|
|
@@ -2495,6 +2517,21 @@
|
|
|
2495
2517
|
],
|
|
2496
2518
|
"uses": []
|
|
2497
2519
|
},
|
|
2520
|
+
"drawer": {
|
|
2521
|
+
"dir": "nm-drawer",
|
|
2522
|
+
"files": [
|
|
2523
|
+
"components/nm-drawer/nm-drawer.css",
|
|
2524
|
+
"components/nm-drawer/nm-drawer.tsx",
|
|
2525
|
+
"config/nm-drawer.ts",
|
|
2526
|
+
"lib/nm-class.ts",
|
|
2527
|
+
"lib/nm-motion.ts"
|
|
2528
|
+
],
|
|
2529
|
+
"libs": [
|
|
2530
|
+
"@animate-ui/react",
|
|
2531
|
+
"@base-ui/react"
|
|
2532
|
+
],
|
|
2533
|
+
"uses": []
|
|
2534
|
+
},
|
|
2498
2535
|
"dropdown": {
|
|
2499
2536
|
"dir": "nm-dropdown",
|
|
2500
2537
|
"files": [
|
|
@@ -2965,20 +3002,25 @@
|
|
|
2965
3002
|
"components/nm-popover/nm-popover.tsx",
|
|
2966
3003
|
"components/nm-prose/nm-prose.css",
|
|
2967
3004
|
"components/nm-prose/nm-prose.tsx",
|
|
2968
|
-
"components/nm-
|
|
2969
|
-
"components/nm-
|
|
3005
|
+
"components/nm-resize-handle/nm-resize-handle.css",
|
|
3006
|
+
"components/nm-resize-handle/nm-resize-handle.tsx",
|
|
2970
3007
|
"components/nm-select/nm-select.css",
|
|
2971
3008
|
"components/nm-select/nm-select.tsx",
|
|
3009
|
+
"components/nm-side-panel/nm-side-panel.css",
|
|
3010
|
+
"components/nm-side-panel/nm-side-panel.tsx",
|
|
2972
3011
|
"components/nm-textarea/nm-textarea.css",
|
|
2973
3012
|
"components/nm-textarea/nm-textarea.tsx",
|
|
3013
|
+
"components/nm-toolbar/nm-toolbar.css",
|
|
3014
|
+
"components/nm-toolbar/nm-toolbar.tsx",
|
|
2974
3015
|
"components/nordman-icon-button/nordman-icon-button.css",
|
|
2975
3016
|
"components/nordman-icon-button/nordman-icon-button.tsx",
|
|
3017
|
+
"config/nm-button.ts",
|
|
2976
3018
|
"config/nm-dropdown.ts",
|
|
2977
3019
|
"config/nm-field.ts",
|
|
2978
3020
|
"config/nm-icon-button.ts",
|
|
2979
3021
|
"config/nm-icons-extended.ts",
|
|
2980
3022
|
"config/nm-icons.ts",
|
|
2981
|
-
"config/nm-
|
|
3023
|
+
"config/nm-side-panel.ts",
|
|
2982
3024
|
"config/nordman-chrome.ts",
|
|
2983
3025
|
"kit-logger.ts",
|
|
2984
3026
|
"lib/logger.ts",
|
|
@@ -3003,9 +3045,11 @@
|
|
|
3003
3045
|
"input",
|
|
3004
3046
|
"popover",
|
|
3005
3047
|
"prose",
|
|
3006
|
-
"
|
|
3048
|
+
"resize-handle",
|
|
3007
3049
|
"select",
|
|
3050
|
+
"side-panel",
|
|
3008
3051
|
"textarea",
|
|
3052
|
+
"toolbar",
|
|
3009
3053
|
"nordman-icon-button"
|
|
3010
3054
|
]
|
|
3011
3055
|
},
|
|
@@ -4250,12 +4294,16 @@
|
|
|
4250
4294
|
"components/nm-prose/nm-prose.tsx",
|
|
4251
4295
|
"components/nm-questionnaire/nm-questionnaire.css",
|
|
4252
4296
|
"components/nm-questionnaire/nm-questionnaire.tsx",
|
|
4253
|
-
"components/nm-
|
|
4254
|
-
"components/nm-
|
|
4297
|
+
"components/nm-resize-handle/nm-resize-handle.css",
|
|
4298
|
+
"components/nm-resize-handle/nm-resize-handle.tsx",
|
|
4255
4299
|
"components/nm-select/nm-select.css",
|
|
4256
4300
|
"components/nm-select/nm-select.tsx",
|
|
4301
|
+
"components/nm-side-panel/nm-side-panel.css",
|
|
4302
|
+
"components/nm-side-panel/nm-side-panel.tsx",
|
|
4257
4303
|
"components/nm-textarea/nm-textarea.css",
|
|
4258
4304
|
"components/nm-textarea/nm-textarea.tsx",
|
|
4305
|
+
"components/nm-toolbar/nm-toolbar.css",
|
|
4306
|
+
"components/nm-toolbar/nm-toolbar.tsx",
|
|
4259
4307
|
"components/nordman-icon-button/nordman-icon-button.css",
|
|
4260
4308
|
"components/nordman-icon-button/nordman-icon-button.tsx",
|
|
4261
4309
|
"config/nm-button.ts",
|
|
@@ -4265,7 +4313,7 @@
|
|
|
4265
4313
|
"config/nm-icons-extended.ts",
|
|
4266
4314
|
"config/nm-icons.ts",
|
|
4267
4315
|
"config/nm-questionnaire.ts",
|
|
4268
|
-
"config/nm-
|
|
4316
|
+
"config/nm-side-panel.ts",
|
|
4269
4317
|
"config/nordman-chrome.ts",
|
|
4270
4318
|
"kit-logger.ts",
|
|
4271
4319
|
"lib/logger.ts",
|
|
@@ -4293,9 +4341,11 @@
|
|
|
4293
4341
|
"popover",
|
|
4294
4342
|
"progress",
|
|
4295
4343
|
"prose",
|
|
4296
|
-
"
|
|
4344
|
+
"resize-handle",
|
|
4297
4345
|
"select",
|
|
4346
|
+
"side-panel",
|
|
4298
4347
|
"textarea",
|
|
4348
|
+
"toolbar",
|
|
4299
4349
|
"nordman-icon-button"
|
|
4300
4350
|
]
|
|
4301
4351
|
},
|
|
@@ -4940,6 +4990,187 @@
|
|
|
4940
4990
|
"toolbar"
|
|
4941
4991
|
]
|
|
4942
4992
|
},
|
|
4993
|
+
"sidebar": {
|
|
4994
|
+
"dir": "nm-sidebar",
|
|
4995
|
+
"files": [
|
|
4996
|
+
"components/nm-chip/nm-chip.css",
|
|
4997
|
+
"components/nm-chip/nm-chip.tsx",
|
|
4998
|
+
"components/nm-drawer/nm-drawer.css",
|
|
4999
|
+
"components/nm-drawer/nm-drawer.tsx",
|
|
5000
|
+
"components/nm-icon/animated/activity.tsx",
|
|
5001
|
+
"components/nm-icon/animated/archive.tsx",
|
|
5002
|
+
"components/nm-icon/animated/arrow-down.tsx",
|
|
5003
|
+
"components/nm-icon/animated/arrow-left.tsx",
|
|
5004
|
+
"components/nm-icon/animated/arrow-right.tsx",
|
|
5005
|
+
"components/nm-icon/animated/arrow-up-down.tsx",
|
|
5006
|
+
"components/nm-icon/animated/arrow-up.tsx",
|
|
5007
|
+
"components/nm-icon/animated/audio-lines.tsx",
|
|
5008
|
+
"components/nm-icon/animated/bookmark-plus.tsx",
|
|
5009
|
+
"components/nm-icon/animated/bookmark.tsx",
|
|
5010
|
+
"components/nm-icon/animated/bot.tsx",
|
|
5011
|
+
"components/nm-icon/animated/calendar-days.tsx",
|
|
5012
|
+
"components/nm-icon/animated/calendar.tsx",
|
|
5013
|
+
"components/nm-icon/animated/camera.tsx",
|
|
5014
|
+
"components/nm-icon/animated/chart-column-increasing.tsx",
|
|
5015
|
+
"components/nm-icon/animated/chart-column.tsx",
|
|
5016
|
+
"components/nm-icon/animated/chart-line.tsx",
|
|
5017
|
+
"components/nm-icon/animated/check-check.tsx",
|
|
5018
|
+
"components/nm-icon/animated/check.tsx",
|
|
5019
|
+
"components/nm-icon/animated/chevron-down.tsx",
|
|
5020
|
+
"components/nm-icon/animated/chevron-left.tsx",
|
|
5021
|
+
"components/nm-icon/animated/chevron-right.tsx",
|
|
5022
|
+
"components/nm-icon/animated/chevron-up.tsx",
|
|
5023
|
+
"components/nm-icon/animated/circle-alert.tsx",
|
|
5024
|
+
"components/nm-icon/animated/circle-check-big.tsx",
|
|
5025
|
+
"components/nm-icon/animated/circle-check.tsx",
|
|
5026
|
+
"components/nm-icon/animated/circle-plus.tsx",
|
|
5027
|
+
"components/nm-icon/animated/circle-question-mark.tsx",
|
|
5028
|
+
"components/nm-icon/animated/circle-x.tsx",
|
|
5029
|
+
"components/nm-icon/animated/clock-3.tsx",
|
|
5030
|
+
"components/nm-icon/animated/clock-4.tsx",
|
|
5031
|
+
"components/nm-icon/animated/clock.tsx",
|
|
5032
|
+
"components/nm-icon/animated/cloud-sun.tsx",
|
|
5033
|
+
"components/nm-icon/animated/cloud-upload.tsx",
|
|
5034
|
+
"components/nm-icon/animated/copy.tsx",
|
|
5035
|
+
"components/nm-icon/animated/download.tsx",
|
|
5036
|
+
"components/nm-icon/animated/ellipsis.tsx",
|
|
5037
|
+
"components/nm-icon/animated/external-link.tsx",
|
|
5038
|
+
"components/nm-icon/animated/eye-off.tsx",
|
|
5039
|
+
"components/nm-icon/animated/eye.tsx",
|
|
5040
|
+
"components/nm-icon/animated/fast-forward.tsx",
|
|
5041
|
+
"components/nm-icon/animated/file-clock.tsx",
|
|
5042
|
+
"components/nm-icon/animated/file-text.tsx",
|
|
5043
|
+
"components/nm-icon/animated/file.tsx",
|
|
5044
|
+
"components/nm-icon/animated/folder.tsx",
|
|
5045
|
+
"components/nm-icon/animated/gauge.tsx",
|
|
5046
|
+
"components/nm-icon/animated/globe.tsx",
|
|
5047
|
+
"components/nm-icon/animated/graduation-cap.tsx",
|
|
5048
|
+
"components/nm-icon/animated/headphones.tsx",
|
|
5049
|
+
"components/nm-icon/animated/image.tsx",
|
|
5050
|
+
"components/nm-icon/animated/index.ts",
|
|
5051
|
+
"components/nm-icon/animated/info.tsx",
|
|
5052
|
+
"components/nm-icon/animated/key-round.tsx",
|
|
5053
|
+
"components/nm-icon/animated/layers.tsx",
|
|
5054
|
+
"components/nm-icon/animated/layout-dashboard.tsx",
|
|
5055
|
+
"components/nm-icon/animated/library-big.tsx",
|
|
5056
|
+
"components/nm-icon/animated/lightbulb.tsx",
|
|
5057
|
+
"components/nm-icon/animated/link.tsx",
|
|
5058
|
+
"components/nm-icon/animated/list-filter.tsx",
|
|
5059
|
+
"components/nm-icon/animated/list.tsx",
|
|
5060
|
+
"components/nm-icon/animated/loader-circle.tsx",
|
|
5061
|
+
"components/nm-icon/animated/lock.tsx",
|
|
5062
|
+
"components/nm-icon/animated/log-out.tsx",
|
|
5063
|
+
"components/nm-icon/animated/mail.tsx",
|
|
5064
|
+
"components/nm-icon/animated/map-pin.tsx",
|
|
5065
|
+
"components/nm-icon/animated/menu.tsx",
|
|
5066
|
+
"components/nm-icon/animated/message-circle-dashed.tsx",
|
|
5067
|
+
"components/nm-icon/animated/message-circle.tsx",
|
|
5068
|
+
"components/nm-icon/animated/message-square-plus.tsx",
|
|
5069
|
+
"components/nm-icon/animated/message-square-text.tsx",
|
|
5070
|
+
"components/nm-icon/animated/message-square.tsx",
|
|
5071
|
+
"components/nm-icon/animated/mic-off.tsx",
|
|
5072
|
+
"components/nm-icon/animated/mic.tsx",
|
|
5073
|
+
"components/nm-icon/animated/minimize.tsx",
|
|
5074
|
+
"components/nm-icon/animated/minus.tsx",
|
|
5075
|
+
"components/nm-icon/animated/moon.tsx",
|
|
5076
|
+
"components/nm-icon/animated/music.tsx",
|
|
5077
|
+
"components/nm-icon/animated/notebook-pen.tsx",
|
|
5078
|
+
"components/nm-icon/animated/panel-left.tsx",
|
|
5079
|
+
"components/nm-icon/animated/panel-right.tsx",
|
|
5080
|
+
"components/nm-icon/animated/paperclip.tsx",
|
|
5081
|
+
"components/nm-icon/animated/pause.tsx",
|
|
5082
|
+
"components/nm-icon/animated/pencil.tsx",
|
|
5083
|
+
"components/nm-icon/animated/pin-off.tsx",
|
|
5084
|
+
"components/nm-icon/animated/pin.tsx",
|
|
5085
|
+
"components/nm-icon/animated/plane-takeoff.tsx",
|
|
5086
|
+
"components/nm-icon/animated/play.tsx",
|
|
5087
|
+
"components/nm-icon/animated/plug-zap.tsx",
|
|
5088
|
+
"components/nm-icon/animated/plus.tsx",
|
|
5089
|
+
"components/nm-icon/animated/radio.tsx",
|
|
5090
|
+
"components/nm-icon/animated/refresh-cw.tsx",
|
|
5091
|
+
"components/nm-icon/animated/rocket.tsx",
|
|
5092
|
+
"components/nm-icon/animated/rotate-ccw.tsx",
|
|
5093
|
+
"components/nm-icon/animated/rotate-cw.tsx",
|
|
5094
|
+
"components/nm-icon/animated/save.tsx",
|
|
5095
|
+
"components/nm-icon/animated/search.tsx",
|
|
5096
|
+
"components/nm-icon/animated/send.tsx",
|
|
5097
|
+
"components/nm-icon/animated/settings.tsx",
|
|
5098
|
+
"components/nm-icon/animated/share-2.tsx",
|
|
5099
|
+
"components/nm-icon/animated/share.tsx",
|
|
5100
|
+
"components/nm-icon/animated/shield-check.tsx",
|
|
5101
|
+
"components/nm-icon/animated/shopping-bag.tsx",
|
|
5102
|
+
"components/nm-icon/animated/sliders-horizontal.tsx",
|
|
5103
|
+
"components/nm-icon/animated/sparkles.tsx",
|
|
5104
|
+
"components/nm-icon/animated/star.tsx",
|
|
5105
|
+
"components/nm-icon/animated/sun.tsx",
|
|
5106
|
+
"components/nm-icon/animated/terminal.tsx",
|
|
5107
|
+
"components/nm-icon/animated/trash-2.tsx",
|
|
5108
|
+
"components/nm-icon/animated/trash.tsx",
|
|
5109
|
+
"components/nm-icon/animated/trending-up.tsx",
|
|
5110
|
+
"components/nm-icon/animated/triangle-alert.tsx",
|
|
5111
|
+
"components/nm-icon/animated/trophy.tsx",
|
|
5112
|
+
"components/nm-icon/animated/type.tsx",
|
|
5113
|
+
"components/nm-icon/animated/upload.tsx",
|
|
5114
|
+
"components/nm-icon/animated/user-round.tsx",
|
|
5115
|
+
"components/nm-icon/animated/user.tsx",
|
|
5116
|
+
"components/nm-icon/animated/users-round.tsx",
|
|
5117
|
+
"components/nm-icon/animated/users.tsx",
|
|
5118
|
+
"components/nm-icon/animated/volume-2.tsx",
|
|
5119
|
+
"components/nm-icon/animated/wand-sparkles.tsx",
|
|
5120
|
+
"components/nm-icon/animated/x.tsx",
|
|
5121
|
+
"components/nm-icon/animated/zap.tsx",
|
|
5122
|
+
"components/nm-icon/animated/zoom-in.tsx",
|
|
5123
|
+
"components/nm-icon/animated/zoom-out.tsx",
|
|
5124
|
+
"components/nm-icon/nm-icon.css",
|
|
5125
|
+
"components/nm-icon/nm-icon.tsx",
|
|
5126
|
+
"components/nm-icon/nm-lucide-extended.tsx",
|
|
5127
|
+
"components/nm-icon/nm-lucide.tsx",
|
|
5128
|
+
"components/nm-input/nm-input.css",
|
|
5129
|
+
"components/nm-input/nm-input.tsx",
|
|
5130
|
+
"components/nm-kbd/nm-kbd.css",
|
|
5131
|
+
"components/nm-kbd/nm-kbd.tsx",
|
|
5132
|
+
"components/nm-separator/nm-separator.css",
|
|
5133
|
+
"components/nm-separator/nm-separator.tsx",
|
|
5134
|
+
"components/nm-sidebar/nm-sidebar.css",
|
|
5135
|
+
"components/nm-sidebar/nm-sidebar.tsx",
|
|
5136
|
+
"components/nm-skeleton/nm-skeleton.css",
|
|
5137
|
+
"components/nm-skeleton/nm-skeleton.tsx",
|
|
5138
|
+
"components/nm-small-icon-button/nm-small-icon-button.tsx",
|
|
5139
|
+
"components/nm-tooltip/nm-tooltip.css",
|
|
5140
|
+
"components/nm-tooltip/nm-tooltip.tsx",
|
|
5141
|
+
"components/nordman-icon-button/nordman-icon-button.css",
|
|
5142
|
+
"components/nordman-icon-button/nordman-icon-button.tsx",
|
|
5143
|
+
"config/nm-drawer.ts",
|
|
5144
|
+
"config/nm-icon-button.ts",
|
|
5145
|
+
"config/nm-icons-extended.ts",
|
|
5146
|
+
"config/nm-icons.ts",
|
|
5147
|
+
"config/nm-sidebar.ts",
|
|
5148
|
+
"config/nm-small-icon-button.ts",
|
|
5149
|
+
"config/nordman-chrome.ts",
|
|
5150
|
+
"kit-logger.ts",
|
|
5151
|
+
"lib/logger.ts",
|
|
5152
|
+
"lib/nm-class.ts",
|
|
5153
|
+
"lib/nm-motion.ts"
|
|
5154
|
+
],
|
|
5155
|
+
"libs": [
|
|
5156
|
+
"@animate-ui/react",
|
|
5157
|
+
"@base-ui/react",
|
|
5158
|
+
"lucide-react",
|
|
5159
|
+
"motion"
|
|
5160
|
+
],
|
|
5161
|
+
"uses": [
|
|
5162
|
+
"chip",
|
|
5163
|
+
"drawer",
|
|
5164
|
+
"icon",
|
|
5165
|
+
"input",
|
|
5166
|
+
"kbd",
|
|
5167
|
+
"separator",
|
|
5168
|
+
"skeleton",
|
|
5169
|
+
"small-icon-button",
|
|
5170
|
+
"tooltip",
|
|
5171
|
+
"nordman-icon-button"
|
|
5172
|
+
]
|
|
5173
|
+
},
|
|
4943
5174
|
"skeleton": {
|
|
4944
5175
|
"dir": "nm-skeleton",
|
|
4945
5176
|
"files": [
|
|
@@ -5450,27 +5681,36 @@
|
|
|
5450
5681
|
"components/nm-icon/nm-lucide.tsx",
|
|
5451
5682
|
"components/nm-prose/nm-prose.css",
|
|
5452
5683
|
"components/nm-prose/nm-prose.tsx",
|
|
5453
|
-
"components/nm-
|
|
5454
|
-
"components/nm-
|
|
5684
|
+
"components/nm-resize-handle/nm-resize-handle.css",
|
|
5685
|
+
"components/nm-resize-handle/nm-resize-handle.tsx",
|
|
5686
|
+
"components/nm-side-panel/nm-side-panel.css",
|
|
5687
|
+
"components/nm-side-panel/nm-side-panel.tsx",
|
|
5455
5688
|
"components/nm-textarea/nm-textarea.css",
|
|
5456
5689
|
"components/nm-textarea/nm-textarea.tsx",
|
|
5690
|
+
"components/nm-toolbar/nm-toolbar.css",
|
|
5691
|
+
"components/nm-toolbar/nm-toolbar.tsx",
|
|
5692
|
+
"config/nm-button.ts",
|
|
5457
5693
|
"config/nm-icon-button.ts",
|
|
5458
5694
|
"config/nm-icons-extended.ts",
|
|
5459
5695
|
"config/nm-icons.ts",
|
|
5460
|
-
"config/nm-
|
|
5696
|
+
"config/nm-side-panel.ts",
|
|
5461
5697
|
"kit-logger.ts",
|
|
5462
5698
|
"lib/logger.ts",
|
|
5463
|
-
"lib/nm-class.ts"
|
|
5699
|
+
"lib/nm-class.ts",
|
|
5700
|
+
"lib/nm-motion.ts"
|
|
5464
5701
|
],
|
|
5465
5702
|
"libs": [
|
|
5466
5703
|
"@animate-ui/react",
|
|
5704
|
+
"@base-ui/react",
|
|
5467
5705
|
"lucide-react",
|
|
5468
5706
|
"motion"
|
|
5469
5707
|
],
|
|
5470
5708
|
"uses": [
|
|
5471
5709
|
"icon",
|
|
5472
5710
|
"prose",
|
|
5473
|
-
"
|
|
5711
|
+
"resize-handle",
|
|
5712
|
+
"side-panel",
|
|
5713
|
+
"toolbar"
|
|
5474
5714
|
]
|
|
5475
5715
|
},
|
|
5476
5716
|
"toggle": {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
import { AlertDialog as AlertDialogPrimitive } from '@base-ui/react/alert-dialog';
|
|
3
|
+
import { nmClass } from '../../lib/nm-class.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Base UI Alert Dialog, in the shadcn composition, styled by NIF tokens.
|
|
6
|
+
* A dialog that asks before something that cannot be undone. It does not close on a click outside, only from its actions or Escape.
|
|
7
|
+
*/
|
|
8
|
+
export function NmAlertDialog(props: AlertDialogPrimitive.Root.Props) {
|
|
9
|
+
return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />;
|
|
10
|
+
}
|
|
11
|
+
export function NmAlertDialogTrigger(props: AlertDialogPrimitive.Trigger.Props) {
|
|
12
|
+
return <AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />;
|
|
13
|
+
}
|
|
14
|
+
export function NmAlertDialogContent({ className, children, ...props }: AlertDialogPrimitive.Popup.Props) {
|
|
15
|
+
return (
|
|
16
|
+
<AlertDialogPrimitive.Portal>
|
|
17
|
+
<AlertDialogPrimitive.Backdrop data-slot="alert-dialog-overlay" className="nm-dialog__backdrop" />
|
|
18
|
+
<AlertDialogPrimitive.Popup data-slot="alert-dialog-content" className={nmClass('nm-dialog nm-alert-dialog', className as string)} {...props}>
|
|
19
|
+
{children}
|
|
20
|
+
</AlertDialogPrimitive.Popup>
|
|
21
|
+
</AlertDialogPrimitive.Portal>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export function NmAlertDialogHeader({ className, ...props }: ComponentProps<'div'>) {
|
|
25
|
+
return <div data-slot="alert-dialog-header" className={nmClass('nm-dialog__header', className)} {...props} />;
|
|
26
|
+
}
|
|
27
|
+
export function NmAlertDialogFooter({ className, ...props }: ComponentProps<'div'>) {
|
|
28
|
+
return <div data-slot="alert-dialog-footer" className={nmClass('nm-dialog__footer', className)} {...props} />;
|
|
29
|
+
}
|
|
30
|
+
export function NmAlertDialogTitle({ className, ...props }: AlertDialogPrimitive.Title.Props) {
|
|
31
|
+
return <AlertDialogPrimitive.Title data-slot="alert-dialog-title" className={nmClass('nm-dialog__title', className as string)} {...props} />;
|
|
32
|
+
}
|
|
33
|
+
export function NmAlertDialogDescription({ className, ...props }: AlertDialogPrimitive.Description.Props) {
|
|
34
|
+
return <AlertDialogPrimitive.Description data-slot="alert-dialog-description" className={nmClass('nm-dialog__description', className as string)} {...props} />;
|
|
35
|
+
}
|
|
36
|
+
/** The action that confirms. Give it a NIF Button with `render`; `tone="danger"` when it destroys. */
|
|
37
|
+
export function NmAlertDialogAction(props: AlertDialogPrimitive.Close.Props) {
|
|
38
|
+
return <AlertDialogPrimitive.Close data-slot="alert-dialog-action" {...props} />;
|
|
39
|
+
}
|
|
40
|
+
/** The action that cancels. Give it a NIF Button with `render`. */
|
|
41
|
+
export function NmAlertDialogCancel(props: AlertDialogPrimitive.Close.Props) {
|
|
42
|
+
return <AlertDialogPrimitive.Close data-slot="alert-dialog-cancel" {...props} />;
|
|
43
|
+
}
|
|
@@ -56,6 +56,21 @@
|
|
|
56
56
|
color: var(--nm-fg-muted);
|
|
57
57
|
font-size: var(--nm-type-ui-sm);
|
|
58
58
|
}
|
|
59
|
+
.nm-dialog__body {
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: column;
|
|
62
|
+
gap: var(--nm-space-12);
|
|
63
|
+
min-height: 0;
|
|
64
|
+
padding: var(--nm-space-16) var(--nm-space-24) 0;
|
|
65
|
+
overflow: auto;
|
|
66
|
+
}
|
|
67
|
+
.nm-dialog__footer {
|
|
68
|
+
display: flex;
|
|
69
|
+
flex-wrap: wrap;
|
|
70
|
+
gap: var(--nm-space-8);
|
|
71
|
+
justify-content: flex-end;
|
|
72
|
+
padding: var(--nm-space-24);
|
|
73
|
+
}
|
|
59
74
|
|
|
60
75
|
.nm-dialog[data-size='full'] {
|
|
61
76
|
inset: 0;
|
|
@@ -31,6 +31,14 @@ export function NmDialogHeader({ className, ...props }: ComponentProps<'div'>) {
|
|
|
31
31
|
return <div data-slot="dialog-header" className={nmClass('nm-dialog__header', className)} {...props} />;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/** The content between the header and the footer. It scrolls when the dialog is full. */
|
|
35
|
+
export function NmDialogBody({ className, ...props }: ComponentProps<'div'>) {
|
|
36
|
+
return <div data-slot="dialog-body" className={nmClass('nm-dialog__body', className)} {...props} />;
|
|
37
|
+
}
|
|
38
|
+
/** The actions at the end, right-aligned. */
|
|
39
|
+
export function NmDialogFooter({ className, ...props }: ComponentProps<'div'>) {
|
|
40
|
+
return <div data-slot="dialog-footer" className={nmClass('nm-dialog__footer', className)} {...props} />;
|
|
41
|
+
}
|
|
34
42
|
export function NmDialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {
|
|
35
43
|
return <DialogPrimitive.Title data-slot="dialog-title" className={nmClass('nm-dialog__title', className as string)} {...props} />;
|
|
36
44
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
.nm-drawer__backdrop {
|
|
2
|
+
position: fixed;
|
|
3
|
+
z-index: var(--nm-menu-z);
|
|
4
|
+
inset: 0;
|
|
5
|
+
background: rgb(var(--nm-canvas-rgb) / 0.7);
|
|
6
|
+
transition: opacity var(--reveal) var(--ease);
|
|
7
|
+
}
|
|
8
|
+
.nm-drawer__backdrop[data-starting-style],
|
|
9
|
+
.nm-drawer__backdrop[data-ending-style] {
|
|
10
|
+
opacity: 0;
|
|
11
|
+
}
|
|
12
|
+
/* The panel sits on an edge and takes the whole height. It slides in from its own edge. */
|
|
13
|
+
.nm-drawer {
|
|
14
|
+
position: fixed;
|
|
15
|
+
z-index: var(--nm-menu-z);
|
|
16
|
+
inset-block: 0;
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
width: var(--nm-width-drawer);
|
|
21
|
+
max-width: 100%;
|
|
22
|
+
background: var(--nm-raised);
|
|
23
|
+
color: var(--nm-fg);
|
|
24
|
+
font-family: var(--nm-font);
|
|
25
|
+
font-size: var(--nm-type-ui);
|
|
26
|
+
outline: none;
|
|
27
|
+
/* The motion popup owns transform: it slides the panel in from its side. */
|
|
28
|
+
transition: opacity var(--reveal) var(--ease);
|
|
29
|
+
}
|
|
30
|
+
.nm-drawer[data-side='left'] {
|
|
31
|
+
inset-inline-start: 0;
|
|
32
|
+
border-inline-end: var(--nm-rule) solid var(--nm-line-strong);
|
|
33
|
+
}
|
|
34
|
+
.nm-drawer[data-side='right'] {
|
|
35
|
+
inset-inline-end: 0;
|
|
36
|
+
border-inline-start: var(--nm-rule) solid var(--nm-line-strong);
|
|
37
|
+
}
|
|
38
|
+
.nm-drawer[data-starting-style],
|
|
39
|
+
.nm-drawer[data-ending-style] {
|
|
40
|
+
opacity: 0;
|
|
41
|
+
}
|
|
42
|
+
.nm-drawer__header {
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
gap: var(--nm-space-4);
|
|
46
|
+
padding: var(--nm-space-16);
|
|
47
|
+
}
|
|
48
|
+
.nm-drawer__footer {
|
|
49
|
+
display: flex;
|
|
50
|
+
gap: var(--nm-space-8);
|
|
51
|
+
justify-content: flex-end;
|
|
52
|
+
margin-top: auto;
|
|
53
|
+
padding: var(--nm-space-16);
|
|
54
|
+
}
|
|
55
|
+
.nm-drawer__title {
|
|
56
|
+
margin: 0;
|
|
57
|
+
font-size: var(--nm-type-body);
|
|
58
|
+
font-weight: var(--nm-weight-medium);
|
|
59
|
+
}
|
|
60
|
+
.nm-drawer__description {
|
|
61
|
+
margin: 0;
|
|
62
|
+
color: var(--nm-fg-muted);
|
|
63
|
+
font-size: var(--nm-type-ui-sm);
|
|
64
|
+
}
|
|
65
|
+
@media (prefers-reduced-motion: reduce) {
|
|
66
|
+
.nm-drawer,
|
|
67
|
+
.nm-drawer__backdrop {
|
|
68
|
+
transition: none;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
import { Dialog as DialogPrimitive } from '../../lib/nm-motion.ts';
|
|
3
|
+
import { nmClass } from '../../lib/nm-class.ts';
|
|
4
|
+
import type { NmDrawerSide } from '../../config/nm-drawer.ts';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A panel that slides in from an edge, over the page, with a scrim behind it. The shadcn Sheet, on the Base UI
|
|
8
|
+
* Dialog, styled by NIF tokens. For navigation on a phone, filters, or a form that should not leave the page.
|
|
9
|
+
*/
|
|
10
|
+
export function NmDrawer(props: DialogPrimitive.Root.Props) {
|
|
11
|
+
return <DialogPrimitive.Root data-slot="drawer" {...props} />;
|
|
12
|
+
}
|
|
13
|
+
export function NmDrawerTrigger(props: DialogPrimitive.Trigger.Props) {
|
|
14
|
+
return <DialogPrimitive.Trigger data-slot="drawer-trigger" {...props} />;
|
|
15
|
+
}
|
|
16
|
+
export function NmDrawerClose(props: DialogPrimitive.Close.Props) {
|
|
17
|
+
return <DialogPrimitive.Close data-slot="drawer-close" {...props} />;
|
|
18
|
+
}
|
|
19
|
+
/** The panel. `side` is the edge it comes from. Its width is the --nm-width-drawer token. */
|
|
20
|
+
export function NmDrawerContent({ className, children, side = 'left', ...props }: DialogPrimitive.Popup.Props & { side?: NmDrawerSide }) {
|
|
21
|
+
return (
|
|
22
|
+
<DialogPrimitive.Portal>
|
|
23
|
+
<DialogPrimitive.Backdrop data-slot="drawer-overlay" className="nm-drawer__backdrop" />
|
|
24
|
+
<DialogPrimitive.Popup data-slot="drawer-content" data-side={side} from={side} className={nmClass('nm-drawer', className as string)} {...props}>
|
|
25
|
+
{children}
|
|
26
|
+
</DialogPrimitive.Popup>
|
|
27
|
+
</DialogPrimitive.Portal>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
export function NmDrawerHeader({ className, ...props }: ComponentProps<'div'>) {
|
|
31
|
+
return <div data-slot="drawer-header" className={nmClass('nm-drawer__header', className)} {...props} />;
|
|
32
|
+
}
|
|
33
|
+
export function NmDrawerFooter({ className, ...props }: ComponentProps<'div'>) {
|
|
34
|
+
return <div data-slot="drawer-footer" className={nmClass('nm-drawer__footer', className)} {...props} />;
|
|
35
|
+
}
|
|
36
|
+
export function NmDrawerTitle({ className, ...props }: DialogPrimitive.Title.Props) {
|
|
37
|
+
return <DialogPrimitive.Title data-slot="drawer-title" className={nmClass('nm-drawer__title', className as string)} {...props} />;
|
|
38
|
+
}
|
|
39
|
+
export function NmDrawerDescription({ className, ...props }: DialogPrimitive.Description.Props) {
|
|
40
|
+
return <DialogPrimitive.Description data-slot="drawer-description" className={nmClass('nm-drawer__description', className as string)} {...props} />;
|
|
41
|
+
}
|