agnosticui-core 2.0.0-alpha.2 → 2.0.0-alpha.21
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/README.md +67 -33
- package/dist/{VueButton.vue_vue_type_script_setup_true_lang-Bq8IPXqd.js → VueButton.vue_vue_type_script_setup_true_lang-D1jGatE9.js} +17 -15
- package/dist/{VueButtonFx.vue_vue_type_script_setup_true_lang-BUudF-lg.js → VueButtonFx.vue_vue_type_script_setup_true_lang-BRrt6Nxs.js} +1 -0
- package/dist/{VueCheckbox.vue_vue_type_script_setup_true_lang-DERDRO2P.js → VueCheckbox.vue_vue_type_script_setup_true_lang-VtQfJ-6f.js} +9 -10
- package/dist/{VueCombobox.vue_vue_type_script_setup_true_lang-C7gDMrYJ.js → VueCombobox.vue_vue_type_script_setup_true_lang-BSTZGX2X.js} +15 -13
- package/dist/VueIcon.vue_vue_type_script_setup_true_lang-C2Sky3bU.js +22 -0
- package/dist/{VueImage.vue_vue_type_script_setup_true_lang-CUwbK3NF.js → VueImage.vue_vue_type_script_setup_true_lang-SddK93SB.js} +23 -17
- package/dist/{VueInput.vue_vue_type_script_setup_true_lang-Dsxo7DuX.js → VueInput.vue_vue_type_script_setup_true_lang-wYdAqg-i.js} +19 -19
- package/dist/{VueMenu.vue_vue_type_script_setup_true_lang-bnn7ochj.js → VueMenu.vue_vue_type_script_setup_true_lang-BXc7397e.js} +5 -4
- package/dist/{VueRadio.vue_vue_type_script_setup_true_lang-DxNhH12d.js → VueRadio.vue_vue_type_script_setup_true_lang-C7Z-sWpa.js} +10 -12
- package/dist/{VueRating.vue_vue_type_script_setup_true_lang-CICncp71.js → VueRating.vue_vue_type_script_setup_true_lang-Bm2nRrqr.js} +11 -9
- package/dist/VueSelectionButton.vue_vue_type_script_setup_true_lang-DJN-Uk6n.js +24 -0
- package/dist/VueSelectionButtonGroup.vue_vue_type_script_setup_true_lang-DwYrIMVO.js +46 -0
- package/dist/VueSelectionCard.vue_vue_type_script_setup_true_lang-DJiyPsXH.js +24 -0
- package/dist/VueSelectionCardGroup.vue_vue_type_script_setup_true_lang-D5CycLY5.js +40 -0
- package/dist/{VueToggle.vue_vue_type_script_setup_true_lang-BxrvAsse.js → VueToggle.vue_vue_type_script_setup_true_lang-DLPCBOqZ.js} +18 -16
- package/dist/components/Alert/core/_Alert.d.ts.map +1 -1
- package/dist/components/Alert/core/_Alert.js +38 -19
- package/dist/components/Button/core/_Button.d.ts +5 -0
- package/dist/components/Button/core/_Button.d.ts.map +1 -1
- package/dist/components/Button/core/_Button.js +147 -65
- package/dist/components/Button/vue/VueButton.js +1 -1
- package/dist/components/Button/vue/VueButton.vue.d.ts +3 -0
- package/dist/components/Button/vue/VueButton.vue.d.ts.map +1 -1
- package/dist/components/Button/vue/index.js +1 -1
- package/dist/components/ButtonFx/vue/VueButtonFx.js +1 -1
- package/dist/components/ButtonFx/vue/index.js +1 -1
- package/dist/components/Card/core/_Card.d.ts +9 -1
- package/dist/components/Card/core/_Card.d.ts.map +1 -1
- package/dist/components/Card/core/_Card.js +83 -29
- package/dist/components/Card/vue/VueCard.js +29 -16
- package/dist/components/Card/vue/VueCard.vue.d.ts +25 -5
- package/dist/components/Card/vue/VueCard.vue.d.ts.map +1 -1
- package/dist/components/Checkbox/core/_Checkbox.d.ts +37 -11
- package/dist/components/Checkbox/core/_Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/core/_Checkbox.js +73 -42
- package/dist/components/Checkbox/vue/VueCheckbox.js +1 -1
- package/dist/components/Checkbox/vue/VueCheckbox.vue.d.ts +3 -3
- package/dist/components/Checkbox/vue/VueCheckbox.vue.d.ts.map +1 -1
- package/dist/components/Checkbox/vue/index.js +1 -1
- package/dist/components/Combobox/core/_Combobox.d.ts +24 -1
- package/dist/components/Combobox/core/_Combobox.d.ts.map +1 -1
- package/dist/components/Combobox/core/_Combobox.js +141 -92
- package/dist/components/Combobox/vue/VueCombobox.js +1 -1
- package/dist/components/Combobox/vue/index.js +1 -1
- package/dist/components/Fieldset/vue/VueFieldset.vue.d.ts +1 -1
- package/dist/components/Icon/vue/VueIcon.js +1 -1
- package/dist/components/Icon/vue/VueIcon.vue.d.ts.map +1 -1
- package/dist/components/Icon/vue/index.js +1 -1
- package/dist/components/Image/vue/VueImage.js +1 -1
- package/dist/components/Image/vue/VueImage.vue.d.ts.map +1 -1
- package/dist/components/Image/vue/index.js +1 -1
- package/dist/components/Input/core/_Input.d.ts +21 -2
- package/dist/components/Input/core/_Input.d.ts.map +1 -1
- package/dist/components/Input/core/_Input.js +71 -35
- package/dist/components/Input/vue/VueInput.js +1 -1
- package/dist/components/Input/vue/VueInput.vue.d.ts.map +1 -1
- package/dist/components/Input/vue/index.js +1 -1
- package/dist/components/Link/core/_Link.d.ts.map +1 -1
- package/dist/components/Link/core/_Link.js +1 -0
- package/dist/components/Link/vue/VueLink.js +6 -5
- package/dist/components/Link/vue/VueLink.vue.d.ts.map +1 -1
- package/dist/components/Menu/vue/VueMenu.js +1 -1
- package/dist/components/Menu/vue/index.js +1 -1
- package/dist/components/Pagination/core/_Pagination.d.ts +0 -1
- package/dist/components/Pagination/core/_Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/core/_Pagination.js +6 -9
- package/dist/components/Radio/core/_Radio.d.ts +55 -10
- package/dist/components/Radio/core/_Radio.d.ts.map +1 -1
- package/dist/components/Radio/core/_Radio.js +165 -116
- package/dist/components/Radio/vue/VueRadio.js +1 -1
- package/dist/components/Radio/vue/VueRadio.vue.d.ts.map +1 -1
- package/dist/components/Radio/vue/index.js +1 -1
- package/dist/components/Rating/core/_Rating.d.ts +23 -2
- package/dist/components/Rating/core/_Rating.d.ts.map +1 -1
- package/dist/components/Rating/core/_Rating.js +97 -64
- package/dist/components/Rating/vue/VueRating.js +1 -1
- package/dist/components/Rating/vue/VueRating.vue.d.ts +2 -0
- package/dist/components/Rating/vue/VueRating.vue.d.ts.map +1 -1
- package/dist/components/Rating/vue/index.js +1 -1
- package/dist/components/Select/core/_Select.d.ts +20 -2
- package/dist/components/Select/core/_Select.d.ts.map +1 -1
- package/dist/components/Select/core/_Select.js +99 -69
- package/dist/components/SelectionButton/core/SelectionButton.d.ts +9 -0
- package/dist/components/SelectionButton/core/SelectionButton.d.ts.map +1 -0
- package/dist/components/SelectionButton/core/SelectionButton.js +5 -0
- package/dist/components/SelectionButton/core/_SelectionButton.d.ts +47 -0
- package/dist/components/SelectionButton/core/_SelectionButton.d.ts.map +1 -0
- package/dist/components/SelectionButton/core/_SelectionButton.js +474 -0
- package/dist/components/SelectionButton/react/ReactSelectionButton.d.ts +9 -0
- package/dist/components/SelectionButton/react/ReactSelectionButton.d.ts.map +1 -0
- package/dist/components/SelectionButton/react/ReactSelectionButton.js +12 -0
- package/dist/components/SelectionButton/react/index.d.ts +3 -0
- package/dist/components/SelectionButton/react/index.d.ts.map +1 -0
- package/dist/components/SelectionButton/react/index.js +4 -0
- package/dist/components/SelectionButton/vue/VueSelectionButton.js +4 -0
- package/dist/components/SelectionButton/vue/VueSelectionButton.vue.d.ts +55 -0
- package/dist/components/SelectionButton/vue/VueSelectionButton.vue.d.ts.map +1 -0
- package/dist/components/SelectionButton/vue/index.d.ts +6 -0
- package/dist/components/SelectionButton/vue/index.d.ts.map +1 -0
- package/dist/components/SelectionButton/vue/index.js +4 -0
- package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts +9 -0
- package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts.map +1 -0
- package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.js +5 -0
- package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.d.ts +87 -0
- package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.d.ts.map +1 -0
- package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.js +235 -0
- package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.d.ts +13 -0
- package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.d.ts.map +1 -0
- package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.js +15 -0
- package/dist/components/SelectionButtonGroup/react/index.d.ts +3 -0
- package/dist/components/SelectionButtonGroup/react/index.d.ts.map +1 -0
- package/dist/components/SelectionButtonGroup/react/index.js +4 -0
- package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.js +4 -0
- package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue.d.ts +101 -0
- package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue.d.ts.map +1 -0
- package/dist/components/SelectionButtonGroup/vue/index.d.ts +6 -0
- package/dist/components/SelectionButtonGroup/vue/index.d.ts.map +1 -0
- package/dist/components/SelectionButtonGroup/vue/index.js +4 -0
- package/dist/components/SelectionCard/core/SelectionCard.d.ts +9 -0
- package/dist/components/SelectionCard/core/SelectionCard.d.ts.map +1 -0
- package/dist/components/SelectionCard/core/SelectionCard.js +5 -0
- package/dist/components/SelectionCard/core/_SelectionCard.d.ts +39 -0
- package/dist/components/SelectionCard/core/_SelectionCard.d.ts.map +1 -0
- package/dist/components/SelectionCard/core/_SelectionCard.js +318 -0
- package/dist/components/SelectionCard/react/ReactSelectionCard.d.ts +9 -0
- package/dist/components/SelectionCard/react/ReactSelectionCard.d.ts.map +1 -0
- package/dist/components/SelectionCard/react/ReactSelectionCard.js +12 -0
- package/dist/components/SelectionCard/react/index.d.ts +3 -0
- package/dist/components/SelectionCard/react/index.d.ts.map +1 -0
- package/dist/components/SelectionCard/react/index.js +4 -0
- package/dist/components/SelectionCard/vue/VueSelectionCard.js +4 -0
- package/dist/components/SelectionCard/vue/VueSelectionCard.vue.d.ts +55 -0
- package/dist/components/SelectionCard/vue/VueSelectionCard.vue.d.ts.map +1 -0
- package/dist/components/SelectionCard/vue/index.d.ts +6 -0
- package/dist/components/SelectionCard/vue/index.d.ts.map +1 -0
- package/dist/components/SelectionCard/vue/index.js +4 -0
- package/dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts +9 -0
- package/dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts.map +1 -0
- package/dist/components/SelectionCardGroup/core/SelectionCardGroup.js +5 -0
- package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.d.ts +69 -0
- package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.d.ts.map +1 -0
- package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.js +220 -0
- package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.d.ts +13 -0
- package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.d.ts.map +1 -0
- package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.js +15 -0
- package/dist/components/SelectionCardGroup/react/index.d.ts +3 -0
- package/dist/components/SelectionCardGroup/react/index.d.ts.map +1 -0
- package/dist/components/SelectionCardGroup/react/index.js +4 -0
- package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.js +4 -0
- package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue.d.ts +86 -0
- package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue.d.ts.map +1 -0
- package/dist/components/SelectionCardGroup/vue/index.d.ts +6 -0
- package/dist/components/SelectionCardGroup/vue/index.d.ts.map +1 -0
- package/dist/components/SelectionCardGroup/vue/index.js +4 -0
- package/dist/components/Slider/core/_Slider.d.ts +10 -16
- package/dist/components/Slider/core/_Slider.d.ts.map +1 -1
- package/dist/components/Slider/core/_Slider.js +28 -39
- package/dist/components/Timeline/core/_Timeline.d.ts.map +1 -1
- package/dist/components/Timeline/core/_Timeline.js +8 -3
- package/dist/components/Timeline/react/ReactTimeline.d.ts +23 -9
- package/dist/components/Timeline/react/ReactTimeline.d.ts.map +1 -1
- package/dist/components/Timeline/react/ReactTimeline.js +18 -14
- package/dist/components/Toggle/core/_Toggle.d.ts +36 -6
- package/dist/components/Toggle/core/_Toggle.d.ts.map +1 -1
- package/dist/components/Toggle/core/_Toggle.js +117 -77
- package/dist/components/Toggle/vue/VueToggle.js +1 -1
- package/dist/components/Toggle/vue/VueToggle.vue.d.ts.map +1 -1
- package/dist/components/Toggle/vue/index.js +1 -1
- package/dist/shared/face-mixin.d.ts +82 -0
- package/dist/shared/face-mixin.d.ts.map +1 -0
- package/dist/shared/face-mixin.js +86 -0
- package/dist/shared/form-control-styles.js +1 -1
- package/dist/styles/ag-tokens-dark.css +4 -0
- package/dist/styles/ag-tokens.css +18 -13
- package/dist/test-setup.js +340 -255
- package/package.json +51 -13
- package/src/components/Alert/core/_Alert.ts +21 -2
- package/src/components/Button/core/_Button.ts +111 -21
- package/src/components/Button/vue/VueButton.vue +2 -0
- package/src/components/Card/core/_Card.ts +70 -3
- package/src/components/Card/vue/VueCard.vue +19 -3
- package/src/components/Checkbox/core/_Checkbox.ts +78 -18
- package/src/components/Checkbox/vue/VueCheckbox.vue +0 -6
- package/src/components/Combobox/core/_Combobox.ts +84 -2
- package/src/components/Combobox/vue/VueCombobox.vue +1 -0
- package/src/components/Drawer/v1/dialog--drawer-bottom.hbs +48 -0
- package/src/components/Drawer/v1/dialog--drawer-end.hbs +48 -0
- package/src/components/Drawer/v1/dialog--drawer-start.hbs +48 -0
- package/src/components/Drawer/v1/dialog--drawer-top.hbs +48 -0
- package/src/components/Drawer/v1/dialog-demo.css +13 -0
- package/src/components/Drawer/v1/dialog.config.yml +5 -0
- package/src/components/Drawer/v1/dialog.css +99 -0
- package/src/components/Drawer/v1/dialog.hbs +48 -0
- package/src/components/Drawer/v1/drawer-animations.css +52 -0
- package/src/components/Drawer/v1/drawer.css +50 -0
- package/src/components/Icon/vue/VueIcon.vue +2 -5
- package/src/components/Image/vue/VueImage.vue +17 -13
- package/src/components/Input/core/_Input.ts +58 -3
- package/src/components/Input/vue/VueInput.vue +2 -6
- package/src/components/Link/core/_Link.ts +1 -0
- package/src/components/Link/vue/VueLink.vue +1 -0
- package/src/components/Pagination/core/_Pagination.ts +10 -18
- package/src/components/Radio/core/_Radio.ts +131 -41
- package/src/components/Radio/vue/VueRadio.vue +1 -5
- package/src/components/Rating/core/_Rating.ts +62 -5
- package/src/components/Rating/vue/VueRating.vue +3 -0
- package/src/components/Select/core/_Select.ts +55 -6
- package/src/components/SelectionButton/core/SelectionButton.ts +13 -0
- package/src/components/SelectionButton/core/_SelectionButton.ts +551 -0
- package/src/components/SelectionButton/react/ReactSelectionButton.tsx +16 -0
- package/src/components/SelectionButton/react/index.ts +4 -0
- package/src/components/SelectionButton/vue/VueSelectionButton.vue +33 -0
- package/src/components/SelectionButton/vue/index.ts +5 -0
- package/src/components/SelectionButtonGroup/core/SelectionButtonGroup.ts +13 -0
- package/src/components/SelectionButtonGroup/core/_SelectionButtonGroup.ts +423 -0
- package/src/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.tsx +29 -0
- package/src/components/SelectionButtonGroup/react/index.ts +9 -0
- package/src/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue +89 -0
- package/src/components/SelectionButtonGroup/vue/index.ts +5 -0
- package/src/components/SelectionCard/core/SelectionCard.ts +13 -0
- package/src/components/SelectionCard/core/_SelectionCard.ts +384 -0
- package/src/components/SelectionCard/react/ReactSelectionCard.tsx +16 -0
- package/src/components/SelectionCard/react/index.ts +4 -0
- package/src/components/SelectionCard/vue/VueSelectionCard.vue +33 -0
- package/src/components/SelectionCard/vue/index.ts +5 -0
- package/src/components/SelectionCardGroup/core/SelectionCardGroup.ts +13 -0
- package/src/components/SelectionCardGroup/core/_SelectionCardGroup.ts +396 -0
- package/src/components/SelectionCardGroup/react/ReactSelectionCardGroup.tsx +29 -0
- package/src/components/SelectionCardGroup/react/index.ts +9 -0
- package/src/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue +71 -0
- package/src/components/SelectionCardGroup/vue/index.ts +5 -0
- package/src/components/Slider/core/_Slider.ts +28 -28
- package/src/components/Timeline/core/_Timeline.ts +5 -0
- package/src/components/Timeline/react/ReactTimeline.tsx +47 -24
- package/src/components/Toggle/core/_Toggle.ts +83 -9
- package/src/components/Toggle/vue/VueToggle.vue +2 -0
- package/src/shared/face-mixin.ts +233 -0
- package/src/shared/form-control-styles.ts +1 -1
- package/src/styles/ag-tokens-dark.css +4 -0
- package/src/styles/ag-tokens.css +18 -13
- package/RTL_IMPLEMENTATION_PLAN.md +0 -295
- package/dist/VueIcon.vue_vue_type_script_setup_true_lang-kC-nzMyu.js +0 -25
- package/dist/components/Input/core/_Input.BACKUP.d.ts +0 -114
- package/dist/components/Input/core/_Input.BACKUP.d.ts.map +0 -1
- package/dist/components/Input/core/_Input.BACKUP.js +0 -511
- package/dist/global.d.js +0 -1
- package/src/components/Input/core/_Input.BACKUP.ts +0 -710
- package/src/global.d.ts +0 -43
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agnosticui-core",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.21",
|
|
4
|
+
"author": "AgnosticUI",
|
|
5
|
+
"license": "Apache-2.0",
|
|
4
6
|
"type": "module",
|
|
5
7
|
"main": "dist/index.js",
|
|
6
8
|
"module": "dist/index.esm.js",
|
|
@@ -449,18 +451,6 @@
|
|
|
449
451
|
"types": "./dist/components/Image/vue/index.d.ts",
|
|
450
452
|
"import": "./dist/components/Image/vue/index.js"
|
|
451
453
|
},
|
|
452
|
-
"./table": {
|
|
453
|
-
"types": "./dist/components/Table/core/_Table.d.ts",
|
|
454
|
-
"import": "./dist/components/Table/core/_Table.js"
|
|
455
|
-
},
|
|
456
|
-
"./table/react": {
|
|
457
|
-
"types": "./dist/components/Table/react/ReactTable.d.ts",
|
|
458
|
-
"import": "./dist/components/Table/react/ReactTable.js"
|
|
459
|
-
},
|
|
460
|
-
"./table/vue": {
|
|
461
|
-
"types": "./dist/components/Table/vue/index.d.ts",
|
|
462
|
-
"import": "./dist/components/Table/vue/index.js"
|
|
463
|
-
},
|
|
464
454
|
"./close-button": {
|
|
465
455
|
"types": "./dist/components/shared/CloseButton/_CloseButton.d.ts",
|
|
466
456
|
"import": "./dist/components/shared/CloseButton/_CloseButton.js"
|
|
@@ -708,6 +698,54 @@
|
|
|
708
698
|
"./icon-button-fx/vue": {
|
|
709
699
|
"types": "./dist/components/IconButtonFx/vue/index.d.ts",
|
|
710
700
|
"import": "./dist/components/IconButtonFx/vue/index.js"
|
|
701
|
+
},
|
|
702
|
+
"./selection-card": {
|
|
703
|
+
"types": "./dist/components/SelectionCard/core/SelectionCard.d.ts",
|
|
704
|
+
"import": "./dist/components/SelectionCard/core/SelectionCard.js"
|
|
705
|
+
},
|
|
706
|
+
"./selection-card/react": {
|
|
707
|
+
"types": "./dist/components/SelectionCard/react/index.d.ts",
|
|
708
|
+
"import": "./dist/components/SelectionCard/react/index.js"
|
|
709
|
+
},
|
|
710
|
+
"./selection-card/vue": {
|
|
711
|
+
"types": "./dist/components/SelectionCard/vue/index.d.ts",
|
|
712
|
+
"import": "./dist/components/SelectionCard/vue/index.js"
|
|
713
|
+
},
|
|
714
|
+
"./selection-card-group": {
|
|
715
|
+
"types": "./dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts",
|
|
716
|
+
"import": "./dist/components/SelectionCardGroup/core/SelectionCardGroup.js"
|
|
717
|
+
},
|
|
718
|
+
"./selection-card-group/react": {
|
|
719
|
+
"types": "./dist/components/SelectionCardGroup/react/index.d.ts",
|
|
720
|
+
"import": "./dist/components/SelectionCardGroup/react/index.js"
|
|
721
|
+
},
|
|
722
|
+
"./selection-card-group/vue": {
|
|
723
|
+
"types": "./dist/components/SelectionCardGroup/vue/index.d.ts",
|
|
724
|
+
"import": "./dist/components/SelectionCardGroup/vue/index.js"
|
|
725
|
+
},
|
|
726
|
+
"./selection-button": {
|
|
727
|
+
"types": "./dist/components/SelectionButton/core/SelectionButton.d.ts",
|
|
728
|
+
"import": "./dist/components/SelectionButton/core/SelectionButton.js"
|
|
729
|
+
},
|
|
730
|
+
"./selection-button/react": {
|
|
731
|
+
"types": "./dist/components/SelectionButton/react/index.d.ts",
|
|
732
|
+
"import": "./dist/components/SelectionButton/react/index.js"
|
|
733
|
+
},
|
|
734
|
+
"./selection-button/vue": {
|
|
735
|
+
"types": "./dist/components/SelectionButton/vue/index.d.ts",
|
|
736
|
+
"import": "./dist/components/SelectionButton/vue/index.js"
|
|
737
|
+
},
|
|
738
|
+
"./selection-button-group": {
|
|
739
|
+
"types": "./dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts",
|
|
740
|
+
"import": "./dist/components/SelectionButtonGroup/core/SelectionButtonGroup.js"
|
|
741
|
+
},
|
|
742
|
+
"./selection-button-group/react": {
|
|
743
|
+
"types": "./dist/components/SelectionButtonGroup/react/index.d.ts",
|
|
744
|
+
"import": "./dist/components/SelectionButtonGroup/react/index.js"
|
|
745
|
+
},
|
|
746
|
+
"./selection-button-group/vue": {
|
|
747
|
+
"types": "./dist/components/SelectionButtonGroup/vue/index.d.ts",
|
|
748
|
+
"import": "./dist/components/SelectionButtonGroup/vue/index.js"
|
|
711
749
|
}
|
|
712
750
|
},
|
|
713
751
|
"scripts": {
|
|
@@ -76,6 +76,22 @@ export class AgAlert extends LitElement implements AlertProps {
|
|
|
76
76
|
.alert-bordered {
|
|
77
77
|
border-color: var(--ag-border);
|
|
78
78
|
}
|
|
79
|
+
.alert-bordered.alert-warning {
|
|
80
|
+
border-color: var(--ag-warning);
|
|
81
|
+
}
|
|
82
|
+
.alert-bordered.alert-info {
|
|
83
|
+
border-color: var(--ag-info);
|
|
84
|
+
}
|
|
85
|
+
.alert-bordered.alert-success {
|
|
86
|
+
border-color: var(--ag-success);
|
|
87
|
+
}
|
|
88
|
+
.alert-bordered.alert-danger,
|
|
89
|
+
.alert-bordered.alert-error {
|
|
90
|
+
border-color: var(--ag-danger);
|
|
91
|
+
}
|
|
92
|
+
.alert-bordered.alert-primary {
|
|
93
|
+
border-color: var(--ag-primary);
|
|
94
|
+
}
|
|
79
95
|
.alert-border-left {
|
|
80
96
|
border-inline-start-width: var(--ag-border-width-3);
|
|
81
97
|
border-inline-start-color: var(--ag-border);
|
|
@@ -118,8 +134,11 @@ export class AgAlert extends LitElement implements AlertProps {
|
|
|
118
134
|
border-inline-start-color: var(--ag-primary);
|
|
119
135
|
}
|
|
120
136
|
.alert-monochrome {
|
|
121
|
-
background-color: var(--ag-background
|
|
122
|
-
color: var(--ag-text-primary
|
|
137
|
+
background-color: var(--ag-info-background);
|
|
138
|
+
color: var(--ag-text-primary);
|
|
139
|
+
}
|
|
140
|
+
.alert-bordered.alert-monochrome {
|
|
141
|
+
border-color: var(--ag-text-primary);
|
|
123
142
|
}
|
|
124
143
|
.alert-border-left.alert-monochrome {
|
|
125
144
|
border-inline-start-color: var(--ag-text-primary);
|
|
@@ -42,6 +42,7 @@ export interface ButtonProps {
|
|
|
42
42
|
ghost?: boolean;
|
|
43
43
|
link?: boolean;
|
|
44
44
|
grouped?: boolean;
|
|
45
|
+
fullWidth?: boolean;
|
|
45
46
|
type?: 'button' | 'submit' | 'reset';
|
|
46
47
|
disabled?: boolean;
|
|
47
48
|
loading?: boolean;
|
|
@@ -77,10 +78,20 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
77
78
|
justify-content: center;
|
|
78
79
|
}
|
|
79
80
|
|
|
81
|
+
/* Full-width variant */
|
|
82
|
+
:host([full-width]) {
|
|
83
|
+
display: block;
|
|
84
|
+
width: 100%;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:host([full-width]) button {
|
|
88
|
+
width: 100%;
|
|
89
|
+
}
|
|
90
|
+
|
|
80
91
|
button {
|
|
81
92
|
/* Reset browser defaults */
|
|
82
93
|
margin: 0;
|
|
83
|
-
border:
|
|
94
|
+
border: 1px solid transparent;
|
|
84
95
|
background: var(--ag-background-tertiary);
|
|
85
96
|
|
|
86
97
|
/* Inherit font styling from parent */
|
|
@@ -114,32 +125,32 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
114
125
|
background: var(--ag-neutral-500);
|
|
115
126
|
}
|
|
116
127
|
|
|
117
|
-
/* Primary, success, warning, and danger
|
|
118
|
-
darker on hover */
|
|
128
|
+
/* Primary, success, warning, and danger use variant-specific foreground
|
|
129
|
+
tokens (--ag-{variant}-fg) and get darker on hover */
|
|
119
130
|
:host([variant="primary"]) button {
|
|
120
131
|
background: var(--ag-primary);
|
|
121
|
-
color: var(--ag-
|
|
132
|
+
color: var(--ag-primary-fg);
|
|
122
133
|
}
|
|
123
134
|
:host([variant="primary"]) button:hover {
|
|
124
135
|
background: var(--ag-primary-dark);
|
|
125
136
|
}
|
|
126
137
|
:host([variant="success"]) button {
|
|
127
138
|
background: var(--ag-success);
|
|
128
|
-
color: var(--ag-
|
|
139
|
+
color: var(--ag-success-fg);
|
|
129
140
|
}
|
|
130
141
|
:host([variant="success"]) button:hover {
|
|
131
142
|
background: var(--ag-success-dark);
|
|
132
143
|
}
|
|
133
144
|
:host([variant="warning"]) button {
|
|
134
145
|
background: var(--ag-warning);
|
|
135
|
-
color: var(--ag-
|
|
146
|
+
color: var(--ag-warning-fg);
|
|
136
147
|
}
|
|
137
148
|
:host([variant="warning"]) button:hover {
|
|
138
149
|
background: var(--ag-warning-dark);
|
|
139
150
|
}
|
|
140
151
|
:host([variant="danger"]) button {
|
|
141
152
|
background: var(--ag-danger);
|
|
142
|
-
color: var(--ag-
|
|
153
|
+
color: var(--ag-danger-fg);
|
|
143
154
|
}
|
|
144
155
|
:host([variant="danger"]) button:hover {
|
|
145
156
|
background: var(--ag-danger-dark);
|
|
@@ -156,30 +167,45 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
156
167
|
|
|
157
168
|
/* Size variants */
|
|
158
169
|
:host([size="x-sm"]) button {
|
|
170
|
+
height: var(--ag-space-8);
|
|
171
|
+
min-height: var(--ag-space-8);
|
|
159
172
|
font-size: calc(var(--ag-font-size-base) - 0.375rem);
|
|
160
|
-
padding: var(--ag-space-
|
|
173
|
+
padding-inline: var(--ag-space-2);
|
|
174
|
+
padding-block: 0;
|
|
161
175
|
}
|
|
162
176
|
|
|
163
177
|
:host([size="sm"]) button {
|
|
178
|
+
height: var(--ag-space-9);
|
|
179
|
+
min-height: var(--ag-space-9);
|
|
164
180
|
font-size: var(--ag-font-size-xs);
|
|
165
|
-
padding: var(--ag-space-
|
|
181
|
+
padding-inline: var(--ag-space-3);
|
|
182
|
+
padding-block: 0;
|
|
166
183
|
}
|
|
167
184
|
|
|
168
185
|
/* Default size (md) - applies when no size attribute or size="md" */
|
|
169
186
|
button,
|
|
170
187
|
:host([size="md"]) button {
|
|
188
|
+
height: var(--ag-space-10);
|
|
189
|
+
min-height: var(--ag-space-10);
|
|
171
190
|
font-size: var(--ag-font-size-sm);
|
|
172
|
-
padding: var(--ag-space-
|
|
191
|
+
padding-inline: var(--ag-space-4);
|
|
192
|
+
padding-block: 0;
|
|
173
193
|
}
|
|
174
194
|
|
|
175
195
|
:host([size="lg"]) button {
|
|
196
|
+
height: var(--ag-space-12);
|
|
197
|
+
min-height: var(--ag-space-12);
|
|
176
198
|
font-size: var(--ag-font-size-base);
|
|
177
|
-
padding: var(--ag-space-
|
|
199
|
+
padding-inline: var(--ag-space-5);
|
|
200
|
+
padding-block: 0;
|
|
178
201
|
}
|
|
179
202
|
|
|
180
203
|
:host([size="xl"]) button {
|
|
204
|
+
height: var(--ag-space-14);
|
|
205
|
+
min-height: var(--ag-space-14);
|
|
181
206
|
font-size: var(--ag-font-size-md);
|
|
182
|
-
padding: var(--ag-space-
|
|
207
|
+
padding-inline: var(--ag-space-6);
|
|
208
|
+
padding-block: 0;
|
|
183
209
|
}
|
|
184
210
|
|
|
185
211
|
/* Shape variants */
|
|
@@ -222,7 +248,7 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
222
248
|
:host([ghost]) button,
|
|
223
249
|
:host([link]) button {
|
|
224
250
|
background: transparent;
|
|
225
|
-
border:
|
|
251
|
+
border-color: transparent;
|
|
226
252
|
box-shadow: none;
|
|
227
253
|
}
|
|
228
254
|
|
|
@@ -303,7 +329,7 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
303
329
|
/* Bordered variant - outline style */
|
|
304
330
|
:host([bordered]) button {
|
|
305
331
|
background: transparent;
|
|
306
|
-
border:
|
|
332
|
+
border-color: var(--ag-neutral-500);
|
|
307
333
|
}
|
|
308
334
|
|
|
309
335
|
:host([bordered][variant="primary"]) button {
|
|
@@ -311,11 +337,11 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
311
337
|
border-color: var(--ag-primary-text);
|
|
312
338
|
}
|
|
313
339
|
|
|
314
|
-
/* Bordered Buttons on Hover have a filled background with
|
|
315
|
-
Default Bordered is an exception to this rule. */
|
|
340
|
+
/* Bordered Buttons on Hover have a filled background with variant-specific
|
|
341
|
+
foreground text. The Default Bordered is an exception to this rule. */
|
|
316
342
|
:host([bordered][variant="primary"]) button:hover {
|
|
317
343
|
background: var(--ag-primary);
|
|
318
|
-
color: var(--ag-
|
|
344
|
+
color: var(--ag-primary-fg);
|
|
319
345
|
}
|
|
320
346
|
|
|
321
347
|
:host([bordered][variant="secondary"]) button,
|
|
@@ -330,7 +356,7 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
330
356
|
}
|
|
331
357
|
|
|
332
358
|
:host([bordered][variant="success"]) button:hover {
|
|
333
|
-
color: var(--ag-
|
|
359
|
+
color: var(--ag-success-fg);
|
|
334
360
|
background: var(--ag-success);
|
|
335
361
|
}
|
|
336
362
|
|
|
@@ -341,7 +367,7 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
341
367
|
|
|
342
368
|
:host([bordered][variant="warning"]) button:hover {
|
|
343
369
|
background: var(--ag-warning);
|
|
344
|
-
color: var(--ag-
|
|
370
|
+
color: var(--ag-warning-fg);
|
|
345
371
|
}
|
|
346
372
|
|
|
347
373
|
:host([bordered][variant="danger"]) button {
|
|
@@ -351,7 +377,7 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
351
377
|
|
|
352
378
|
:host([bordered][variant="danger"]) button:hover {
|
|
353
379
|
background: var(--ag-danger);
|
|
354
|
-
color: var(--ag-
|
|
380
|
+
color: var(--ag-danger-fg);
|
|
355
381
|
}
|
|
356
382
|
|
|
357
383
|
:host([bordered][variant="monochrome"]) button {
|
|
@@ -372,11 +398,56 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
372
398
|
background: var(--ag-background-secondary);
|
|
373
399
|
}
|
|
374
400
|
|
|
401
|
+
/* Disabled states - per-variant to maintain tonal identity */
|
|
402
|
+
|
|
403
|
+
/* Filled buttons - use lighter background tokens */
|
|
404
|
+
:host([variant="primary"]) button:disabled {
|
|
405
|
+
background: var(--ag-primary-background);
|
|
406
|
+
color: var(--ag-primary-text);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
:host([variant="success"]) button:disabled {
|
|
410
|
+
background: var(--ag-success-background);
|
|
411
|
+
color: var(--ag-success-text);
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
:host([variant="warning"]) button:disabled {
|
|
415
|
+
background: var(--ag-warning-background);
|
|
416
|
+
color: var(--ag-warning-text);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
:host([variant="danger"]) button:disabled {
|
|
420
|
+
background: var(--ag-danger-background);
|
|
421
|
+
color: var(--ag-danger-text);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
:host([variant="secondary"]) button:disabled,
|
|
375
425
|
button:disabled {
|
|
376
|
-
cursor: not-allowed;
|
|
377
426
|
background: var(--ag-background-disabled);
|
|
378
427
|
}
|
|
379
428
|
|
|
429
|
+
:host([variant="monochrome"]) button:disabled {
|
|
430
|
+
background: var(--ag-background-tertiary);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/* Bordered buttons - dim the border and text with opacity */
|
|
434
|
+
:host([bordered]) button:disabled {
|
|
435
|
+
opacity: 60%;
|
|
436
|
+
background: transparent;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
/* Ghost and link buttons - dim with opacity */
|
|
440
|
+
:host([ghost]) button:disabled,
|
|
441
|
+
:host([link]) button:disabled {
|
|
442
|
+
opacity: 60%;
|
|
443
|
+
background: transparent;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
/* All disabled buttons get not-allowed cursor */
|
|
447
|
+
button:disabled {
|
|
448
|
+
cursor: not-allowed;
|
|
449
|
+
}
|
|
450
|
+
|
|
380
451
|
button:focus-visible,
|
|
381
452
|
button:focus:not(:hover) {
|
|
382
453
|
/* Softer focus ring using alpha channel */
|
|
@@ -428,6 +499,12 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
428
499
|
@property({ type: Boolean, reflect: true })
|
|
429
500
|
declare grouped: boolean;
|
|
430
501
|
|
|
502
|
+
/**
|
|
503
|
+
* Full-width style - button takes 100% width of container
|
|
504
|
+
*/
|
|
505
|
+
@property({ type: Boolean, reflect: true, attribute: 'full-width' })
|
|
506
|
+
declare fullWidth: boolean;
|
|
507
|
+
|
|
431
508
|
/**
|
|
432
509
|
* Button type - determines behavior in forms
|
|
433
510
|
*/
|
|
@@ -486,6 +563,7 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
486
563
|
this.ghost = false;
|
|
487
564
|
this.link = false;
|
|
488
565
|
this.grouped = false;
|
|
566
|
+
this.fullWidth = false;
|
|
489
567
|
this.type = 'button';
|
|
490
568
|
this.ariaLabel = '';
|
|
491
569
|
this.variant = '';
|
|
@@ -499,6 +577,18 @@ export class AgButton extends LitElement implements ButtonProps {
|
|
|
499
577
|
this.onClick(event);
|
|
500
578
|
}
|
|
501
579
|
|
|
580
|
+
// Shadow DOM buttons cannot natively submit/reset their owner form.
|
|
581
|
+
// Walk up the light DOM from the host element to find the enclosing form.
|
|
582
|
+
if (!this.disabled && !this.loading && !event.defaultPrevented) {
|
|
583
|
+
if (this.type === 'submit') {
|
|
584
|
+
const form = this.closest('form');
|
|
585
|
+
if (form) form.requestSubmit();
|
|
586
|
+
} else if (this.type === 'reset') {
|
|
587
|
+
const form = this.closest('form');
|
|
588
|
+
if (form) form.reset();
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
|
|
502
592
|
if (this.toggle && !this.disabled && !this.loading && !event.defaultPrevented) {
|
|
503
593
|
this.pressed = !this.pressed;
|
|
504
594
|
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
.ghost="ghost"
|
|
10
10
|
.link="link"
|
|
11
11
|
.grouped="grouped"
|
|
12
|
+
.fullWidth="fullWidth"
|
|
12
13
|
.ariaLabel="ariaLabel"
|
|
13
14
|
:type="type"
|
|
14
15
|
:variant="variant"
|
|
@@ -51,6 +52,7 @@ const props = withDefaults(defineProps<VueButtonProps>(), {
|
|
|
51
52
|
ghost: false,
|
|
52
53
|
link: false,
|
|
53
54
|
grouped: false,
|
|
55
|
+
fullWidth: false,
|
|
54
56
|
ariaLabel: "",
|
|
55
57
|
});
|
|
56
58
|
|
|
@@ -1,24 +1,48 @@
|
|
|
1
|
-
import { LitElement, html, css } from 'lit';
|
|
1
|
+
import { LitElement, html, css, nothing } from 'lit';
|
|
2
2
|
import { property } from 'lit/decorators.js';
|
|
3
3
|
import { hasSlotContent } from '../../../utils/slot';
|
|
4
4
|
|
|
5
5
|
export type CardVariant = 'success' | 'info' | 'error' | 'warning' | 'monochrome' | '';
|
|
6
6
|
export type CardRounded = 'sm' | 'md' | 'lg' | '';
|
|
7
|
+
export type CardMediaPosition = 'top' | 'bottom';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Converter for rounded prop: accepts boolean (true -> 'md') or string values
|
|
11
|
+
* See https://lit.dev/docs/v1/components/properties/#conversion-converter
|
|
12
|
+
*/
|
|
13
|
+
const roundedConverter = {
|
|
14
|
+
fromAttribute(value: string | null): CardRounded {
|
|
15
|
+
if (value === '' || value === 'true') return 'md';
|
|
16
|
+
if (value === 'false' || value === null) return '';
|
|
17
|
+
return (value as CardRounded) || '';
|
|
18
|
+
},
|
|
19
|
+
toAttribute(value: CardRounded | boolean): string | null {
|
|
20
|
+
if (typeof value === 'boolean') return value ? 'md' : null;
|
|
21
|
+
return value || null;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
7
24
|
|
|
8
25
|
export interface CardProps {
|
|
9
26
|
stacked?: boolean;
|
|
10
27
|
shadow?: boolean;
|
|
11
28
|
animated?: boolean;
|
|
12
|
-
|
|
29
|
+
/** Border radius size. Use 'sm', 'md', 'lg' or true (defaults to 'md') */
|
|
30
|
+
rounded?: CardRounded | boolean;
|
|
13
31
|
variant?: CardVariant;
|
|
32
|
+
/** Enables the media slot for edge-to-edge image/video rendering */
|
|
33
|
+
hasMedia?: boolean;
|
|
34
|
+
/** Whether media renders above or below the header/content/footer */
|
|
35
|
+
mediaPosition?: CardMediaPosition;
|
|
14
36
|
}
|
|
15
37
|
|
|
16
38
|
export class AgCard extends LitElement implements CardProps {
|
|
17
39
|
@property({ type: Boolean, reflect: true }) declare stacked: boolean;
|
|
18
40
|
@property({ type: Boolean, reflect: true }) declare shadow: boolean;
|
|
19
41
|
@property({ type: Boolean, reflect: true }) declare animated: boolean;
|
|
20
|
-
@property({
|
|
42
|
+
@property({ converter: roundedConverter, reflect: true }) declare rounded: CardRounded;
|
|
21
43
|
@property({ type: String, reflect: true }) declare variant: CardVariant;
|
|
44
|
+
@property({ type: Boolean, reflect: true, attribute: 'has-media' }) declare hasMedia: boolean;
|
|
45
|
+
@property({ type: String, reflect: true, attribute: 'media-position' }) declare mediaPosition: CardMediaPosition;
|
|
22
46
|
|
|
23
47
|
private _hasHeaderSlotContent = false;
|
|
24
48
|
private _hasFooterSlotContent = false;
|
|
@@ -30,6 +54,8 @@ export class AgCard extends LitElement implements CardProps {
|
|
|
30
54
|
this.animated = false;
|
|
31
55
|
this.rounded = '';
|
|
32
56
|
this.variant = '';
|
|
57
|
+
this.hasMedia = false;
|
|
58
|
+
this.mediaPosition = 'top';
|
|
33
59
|
}
|
|
34
60
|
|
|
35
61
|
/**
|
|
@@ -192,6 +218,37 @@ export class AgCard extends LitElement implements CardProps {
|
|
|
192
218
|
position: relative;
|
|
193
219
|
z-index: 2;
|
|
194
220
|
}
|
|
221
|
+
|
|
222
|
+
/* ── Media slot ─────────────────────────────────────────────────── */
|
|
223
|
+
|
|
224
|
+
/* Clip image corners to the card's border-radius for non-shadow cards */
|
|
225
|
+
:host([has-media]) {
|
|
226
|
+
overflow: hidden;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.card-media {
|
|
230
|
+
overflow: hidden; /* belt-and-suspenders for non-rounded cards */
|
|
231
|
+
line-height: 0; /* collapses inline whitespace below slotted img */
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/* Top media: clip only the card's top two corners */
|
|
235
|
+
:host([rounded="sm"]) .card-media--top { border-radius: var(--ag-radius-sm) var(--ag-radius-sm) 0 0; }
|
|
236
|
+
:host([rounded="md"]) .card-media--top { border-radius: var(--ag-radius-md) var(--ag-radius-md) 0 0; }
|
|
237
|
+
:host([rounded="lg"]) .card-media--top { border-radius: var(--ag-radius-lg) var(--ag-radius-lg) 0 0; }
|
|
238
|
+
|
|
239
|
+
/* Bottom media: clip only the card's bottom two corners */
|
|
240
|
+
:host([rounded="sm"]) .card-media--bottom { border-radius: 0 0 var(--ag-radius-sm) var(--ag-radius-sm); }
|
|
241
|
+
:host([rounded="md"]) .card-media--bottom { border-radius: 0 0 var(--ag-radius-md) var(--ag-radius-md); }
|
|
242
|
+
:host([rounded="lg"]) .card-media--bottom { border-radius: 0 0 var(--ag-radius-lg) var(--ag-radius-lg); }
|
|
243
|
+
|
|
244
|
+
/* Sensible defaults for slotted media elements */
|
|
245
|
+
.card-media ::slotted(img),
|
|
246
|
+
.card-media ::slotted(video) {
|
|
247
|
+
display: block;
|
|
248
|
+
width: 100%;
|
|
249
|
+
height: auto;
|
|
250
|
+
object-fit: cover;
|
|
251
|
+
}
|
|
195
252
|
`;
|
|
196
253
|
|
|
197
254
|
render() {
|
|
@@ -200,6 +257,11 @@ export class AgCard extends LitElement implements CardProps {
|
|
|
200
257
|
|
|
201
258
|
return html`
|
|
202
259
|
<div class="card-wrapper" part="ag-card-wrapper">
|
|
260
|
+
${this.hasMedia && this.mediaPosition === 'top' ? html`
|
|
261
|
+
<div class="card-media card-media--top" part="ag-card-media">
|
|
262
|
+
<slot name="media"></slot>
|
|
263
|
+
</div>` : nothing}
|
|
264
|
+
|
|
203
265
|
<div class="${headerClass}" part="ag-card-header">
|
|
204
266
|
<slot name="header" @slotchange=${this._handleSlotChange}></slot>
|
|
205
267
|
</div>
|
|
@@ -209,6 +271,11 @@ export class AgCard extends LitElement implements CardProps {
|
|
|
209
271
|
<div class="${footerClass}" part="ag-card-footer">
|
|
210
272
|
<slot name="footer" @slotchange=${this._handleSlotChange}></slot>
|
|
211
273
|
</div>
|
|
274
|
+
|
|
275
|
+
${this.hasMedia && this.mediaPosition === 'bottom' ? html`
|
|
276
|
+
<div class="card-media card-media--bottom" part="ag-card-media">
|
|
277
|
+
<slot name="media"></slot>
|
|
278
|
+
</div>` : nothing}
|
|
212
279
|
</div>
|
|
213
280
|
`;
|
|
214
281
|
}
|
|
@@ -6,8 +6,14 @@
|
|
|
6
6
|
.animated="animated"
|
|
7
7
|
:rounded="rounded"
|
|
8
8
|
:variant="variant"
|
|
9
|
+
.hasMedia="hasMedia"
|
|
10
|
+
.mediaPosition="mediaPosition"
|
|
9
11
|
v-bind="$attrs"
|
|
10
12
|
>
|
|
13
|
+
<slot
|
|
14
|
+
name="media"
|
|
15
|
+
slot="media"
|
|
16
|
+
/>
|
|
11
17
|
<slot
|
|
12
18
|
name="header"
|
|
13
19
|
slot="header"
|
|
@@ -22,7 +28,7 @@
|
|
|
22
28
|
|
|
23
29
|
<script lang="ts">
|
|
24
30
|
import { defineComponent, onMounted, ref, type PropType } from "vue";
|
|
25
|
-
import type { CardProps, CardVariant, CardRounded } from "../core/Card";
|
|
31
|
+
import type { CardProps, CardVariant, CardRounded, CardMediaPosition } from "../core/Card";
|
|
26
32
|
import "../core/Card"; // Registers the ag-card web component
|
|
27
33
|
|
|
28
34
|
export default defineComponent({
|
|
@@ -41,15 +47,23 @@ export default defineComponent({
|
|
|
41
47
|
default: false,
|
|
42
48
|
},
|
|
43
49
|
rounded: {
|
|
44
|
-
type: String as PropType<CardRounded>,
|
|
50
|
+
type: [String, Boolean] as PropType<CardRounded | boolean>,
|
|
45
51
|
default: "" as CardRounded,
|
|
46
52
|
},
|
|
47
53
|
variant: {
|
|
48
54
|
type: String as PropType<CardVariant>,
|
|
49
55
|
default: "" as CardVariant,
|
|
50
56
|
},
|
|
57
|
+
hasMedia: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: false,
|
|
60
|
+
},
|
|
61
|
+
mediaPosition: {
|
|
62
|
+
type: String as PropType<CardMediaPosition>,
|
|
63
|
+
default: "top" as CardMediaPosition,
|
|
64
|
+
},
|
|
51
65
|
},
|
|
52
|
-
setup(props
|
|
66
|
+
setup(props) {
|
|
53
67
|
const agComponent = ref<(HTMLElement & CardProps) | null>(null);
|
|
54
68
|
|
|
55
69
|
onMounted(async () => {
|
|
@@ -68,6 +82,8 @@ export default defineComponent({
|
|
|
68
82
|
animated: props.animated,
|
|
69
83
|
rounded: props.rounded,
|
|
70
84
|
variant: props.variant,
|
|
85
|
+
hasMedia: props.hasMedia,
|
|
86
|
+
mediaPosition: props.mediaPosition,
|
|
71
87
|
};
|
|
72
88
|
},
|
|
73
89
|
});
|